-3

説明:

単にaa charを16進数に変換しようとしていますが、このエラーが発生し続け、これを回避する方法がわかりません

問題:

warning: passing argument 1 of ‘strtol’ makes pointer from integer without a cast[cs214111@cs lab3]$ vi lab3.c

コード:

void print_group(char array[])
{
    int num,a;
    char ch[10];

    printf("here ");    
    for (a = 0 ; a < 8 ; a++)
    {
        strcpy(ch,array[3]);  
        num = strtol(ch,0,16);//------------------THIS IS IT//
        printf("%i",num);
    }   
}
4

1 に答える 1

1

charあなたは期待されている場所を通り過ぎていますchar *、多分

strcpy(ch, &array[3]);

しかし、あなたのコードからは、このように見えますが、実際に必要なものです

num = strtol(&array[3], 0, 16);

この場合strcpy()に機能する場合、これは機能します。

于 2015-09-27T20:11:14.940 に答える