我想在C中编写一个简单的main函数,它接收两行字符串输入并在屏幕上打印它们。 这是我写的代码:
int main()
{
char a[100];
char b[100];
printf("Enter the first string:\n");
fgets(a,100,stdin);
printf("Enter the second string:\n");
fgets(b,100,stdin);
printf("\n\n THE FIRST STRING IS: %S\n\n THE SECOND STRING IS:%S",a, b);
return 0;
}
当我尝试编译时,我收到此错误消息:
gcc -g -Wall PN52.c -o myprog
PN52.c: In function ‘main’:
PN52.c:12:2: warning: format ‘%S’ expects argument of type ‘wchar_t *’, but argument 2 has type ‘char *’ [-Wformat]
PN52.c:12:2: warning: format ‘%S’ expects argument of type ‘wchar_t *’, but argument 3 has type ‘char *’ [-Wformat]
感谢您的帮助
答案 0 :(得分:8)
您使用%S
格式,而字符串(char*
)的格式为%s
。
printf("%s - %s\n", a, b);
答案 1 :(得分:3)
将%S
格式字符串中的小写%s
替换为大写printf
。
答案 2 :(得分:0)
只需将%S替换为%s,因为C区分大小写,这就是为什么你必须要处理这些事情