我从来没有理解过这个错误,而且我一直遇到类似的错误,这真的很令人沮丧,因为我找不到解决方案。(如果还有其他的请不要抨击我,因为我找不到它)。
看一段简单的代码:
#include <stdio.h>
#include <stdlib.h>
int main(int argc,char *argv[]){
char s[10];
int x = strtol(argv[1], &s, 10);
printf("%d", x);
printf("%s", s);
return 0;
}
我不断收到这些错误,但我真的不明白为什么:
警告:从不兼容的指针类型 [-Wincompatible-pointer-types] int x = strtol(argv[1], &s, 10) 传递“strtol”的参数 2;
和
注意:预期为 'char ** restrict' 但参数类型为 'char (*)[10]'</p>
当我更改char s[10]为char *s使用 strtol 的行时,我收到一个段错误。我不明白出了什么问题,有人可以解释一下吗?提前致谢。