c - 为什么我的 C 编译器会发出警告?

标签 c string gcc

初学者问题。我有以下代码:

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/

相关文章:

c - 对于 16 位数据,我应该使用什么来代替 putchar() ?

c - 增加结构成员

gcc 可以警告将 void 指针分配给更具体的指针吗?

c - 从函数返回字符串 [字符指针]

Python - 尝试计算 SSH std.out 中字符串的实例

windows - MinGW - 加载 .dll 后,应用程序以异常方式终止(完成后)

c - "int32 undeclared"海合会错误

c - 如何在c中的某个位置终止字符指针?

c - Windows 结构初始化错误 C2099 : initializer is not a constant

arrays - Swift:从字节数组创建任意基本字符串