说明:
只是尝试将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);
}
}
答案 0 :(得分:1)
您正在通过char
预计会出现char *
,也许
strcpy(ch, &array[3]);
但是从您的代码中看起来就是这样,是您真正需要的
num = strtol(&array[3], 0, 16);
如果strcpy()
在这种情况下有效,那么这将有效。