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

时间:2015-04-02 09:43:01

标签: c arrays variable-assignment character-arrays

我有一个带有两个字符数组ab的C程序。

我在此特定行收到运行时错误

a[j] = b[i];// i and j are integers.

这对于两个字符数组是否合法。我觉得是这样的。为什么我会收到错误呢?

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

以下是整个计划:

char *ConvertCodeToHex(char *code)   
{
    char nibble[4];
    char hexvalue[4];
    int i;int j=0;int k = 0;
    printf("\nCheck2");
    for(i=0; i<16; i++)  //Goes through each element of the array
    {
        printf("\nCheck'i'%d", i+1);
        if((i+5)%4 == 0)        
        {
            printf("\nCheck'i2'%d", i+1);
            hexvalue[k] = BinaryToHex(nibble);  
            j = 0;                              
            printf("\nCheck'k'%d", 1+k);
            k++;
        }
        printf("\nPre-asstcheck");
        nibble[j] = code[i];        //RUN TIME Error
        printf("\nPost-asstcheck");
        j++;
        printf("Assignmentcheck");
    }
    strncpy(finalhex, hexvalue, 4); //finalhex is a global character array
    printf("%s", finalhex);
    return finalhex;
}


void main()
{
    char arr[16] = {'1','0','1','1','1','1','1','0','0','0','0','1','1','0','0','0'};
    printf("Check1");
    printf("%s", ConvertCodeToHex(arr));
    printf("LastCheck");
}

0 个答案:

没有答案