C警告:传递'strcpy'的参数2使得指针来自整数而没有强制转换

时间:2015-09-27 20:10:35

标签: c strtol

说明:

只是尝试将char转换为十六进制但我一直收到此错误,我不确定如何解决此问题

问题:

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

CODE:

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);
    }   
}

1 个答案:

答案 0 :(得分:1)

您正在通过char预计会出现char *,也许

strcpy(ch, &array[3]);

但是从您的代码中看起来就是这样,是您真正需要的

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

如果strcpy()在这种情况下有效,那么这将有效。