C 将一个字符数组的元素分配给另一个字符数组

C 将一个字符数组的元素分配给另一个字符数组,c,arrays,variable-assignment,character-arrays,C,Arrays,Variable Assignment,Character Arrays,我有一个带有两个字符数组a和b的C程序 我在这一行遇到运行时错误 a[j]=b[i];//i和j是整数。 这对两个字符数组合法吗。我想是的。那我为什么会出错呢 编辑:以后运行这个程序,没有任何错误,没有任何更改。我真的不知道怎么做。也许你可以告诉我为什么会发生这种事 以下是整个计划: char*ConvertCodeToHexchar*代码 { 半字节[4]; 字符值[4]; int i;int j=0;int k=0; printf\n检查2; fori=0;i程序在这一点上崩溃。这个问题的质

我有一个带有两个字符数组a和b的C程序

我在这一行遇到运行时错误

a[j]=b[i];//i和j是整数。 这对两个字符数组合法吗。我想是的。那我为什么会出错呢

编辑:以后运行这个程序,没有任何错误,没有任何更改。我真的不知道怎么做。也许你可以告诉我为什么会发生这种事

以下是整个计划:

char*ConvertCodeToHexchar*代码 { 半字节[4]; 字符值[4]; int i;int j=0;int k=0; printf\n检查2;
fori=0;i程序在这一点上崩溃。这个问题的质量很差。您使用的是什么语言?这两个数组是如何声明的,例如,本地或全局、静态分配还是动态分配?最重要的可能是您遇到运行时异常的原因-它们的大小和中的值是什么你正在使用的索引?正确地发布你的代码,我们不应该猜测它!!!嗯,这行代码是完全有效的。我的水晶球在我身上失败的原因可能有很多。你必须提供更多关于代码的上下文,否则我们将无法帮助你。你的数组finalhex和hexvalue不是以null结尾的,这就是原因当您将其中任何一个作为输入参数传递给字符串操作printf%s(例如finalhex)时,lf将导致一些重大问题。此外,通过返回本地数组finalhex,您将调用未定义的行为。此数组的内容保证仅在其声明的范围内有效,即在funct内基本上,您是在该函数的堆栈上返回一个地址,该地址可能包含函数外部的任何值。至于运行时异常本身,很可能是因为变量j的值大于3。为了确保这一点,请逐步调试代码。如果您不知道如何做,那么现在是g是时候学习了。这将在将来对你有很大帮助,并且可能会节省你在这里发布类似问题的时间。更具体地说,似乎调试是你解决手头给定问题所需要做的一切。