感觉没问题,为啥是这样

“编写一个程序,提示用户输入名和姓,然后以“名,姓”的格式打印出来"

1 #include
2 int main(void)
3 {
4 char fname[30];
5 char lname[40];
6 printf("请输入你的姓:",fname);
7 scanf("%s", fname);
8 printf("请输入你的名:",lname);
9 scanf("%S", lname);
10 printf("你的姓名是%s%s\n", fname, lname);
11
12 return 0;
13 }

运行结果及报错内容

img

为啥 名 出不来?

%S改为%s
scanf("%S", lname);写错输入格式了

供参考:

#include <stdio.h>
int main(void)
{
    char fname[30];
    char lname[40];
    printf("请输入你的姓:"); //printf("请输入你的姓:", fname);
    scanf("%s", fname);
    printf("请输入你的名:"); //printf("请输入你的名:", lname);
    scanf("%s", lname);     //scanf("%S", lname);
    printf("你的姓名是%s%s\n", fname, lname);
    
    return 0;
}

第九行%S改成小写%s

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^