我在 C 中有这个简单的代码来扫描和打印带有空格的字符串:
#include <stdio.h>
#include <string.h>
int main()
{
char myName[50];
printf("Enter your name: ");
scanf("%[^\n]s", &myName);
printf("Your name is: %s", myName);
return 0;
}
编译器(gcc,我的 Mac 上 Xcode 附带的命令行工具的一部分)返回此错误:
name.c: In function ‘main’:
name.c:7: warning: format ‘%[^
’ expects type ‘char *’, but argument 2 has type ‘char (*)[50]’
name.c:7: warning: format ‘%[^
’ expects type ‘char *’, but argument 2 has type ‘char (*)[50]’
这里有什么问题?
注意:我需要使用 scanf。我没有 fgets :(