C 警告:传递“strcpy”的参数 2 使指针来自整数而不进行强制转换
C warning: passing argument 2 of ‘strcpy’ makes pointer from integer without a cast
解释:
只是尝试将一个字符转换为十六进制,但我一直收到此错误,我不确定如何解决这个问题
问题:
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);
}
}
您正在传递 char
,而预期 char *
,也许
strcpy(ch, &array[3]);
但是从你的代码看来,这才是你真正需要的
num = strtol(&array[3], 0, 16);
如果 strcpy()
在这种情况下有效,那么这将有效。
解释:
只是尝试将一个字符转换为十六进制,但我一直收到此错误,我不确定如何解决这个问题
问题:
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);
}
}
您正在传递 char
,而预期 char *
,也许
strcpy(ch, &array[3]);
但是从你的代码看来,这才是你真正需要的
num = strtol(&array[3], 0, 16);
如果 strcpy()
在这种情况下有效,那么这将有效。