初学者问题。我有以下代码:
char input[10];
scanf("%s", &input);
我的编译器抛出以下警告:
warning: format '%s' expects type 'char *', but argument 2 has type 'char (*)[10]'
warning: format '%s' expects type 'char *', but argument 2 has type 'char (*)[10]'
更改为:
char * input;
似乎没有帮助。我做错了什么?
最佳答案
因为数组已经可以用作指针,所以不需要取地址运算符。
如果您再次阅读警告消息,您会发现当您在数组上使用 address-of 运算符时,您会得到一个指向该数组的指针。
关于c - 为什么我的 C 编译器会发出警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16707712/