Dy安 发表于 2022-8-4 09:35:01

感觉没问题,为啥会这样/

“编写一个程序,提示用户输入名和姓,然后以“名,姓”的格式打印出来"
1 #include
2 int main(void)
3 {
4 char fname;
5 char lname;
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 }

运行结果及报错内容
$ vi first.c
$ cc first.c
$ ./a.out
请输入你的姓:张
请输入你的名:三
你的姓名是张


为啥   三    字没出来?

ba21 发表于 2022-8-4 09:41:25

本帖最后由 ba21 于 2022-8-4 09:43 编辑

%S%s

printf("请输入你的姓:");
scanf("%s", fname);
printf("请输入你的名:");
scanf("%s", lname);
printf("你的姓名是%s%s\n", fname, lname);

jackz007 发表于 2022-8-4 10:24:11

本帖最后由 jackz007 于 2022-8-4 10:27 编辑

      printf("请输入你的姓 : " ) ; // fname 多余,删掉
      scanf("%s", fname)      ;
      printf("请输入你的名 : "); // lname 多余,删掉
      scanf("%S", lname)      ; // 红色的 S 是大写字符,应该小写。

临时号 发表于 2022-8-4 10:59:56

#include <stdio.h>// 这个地方是引入stdio.h头文件
int main(void)
{
    char fname;
    char lname;
    printf("请输入你的姓:");// 这里不需要fname
    scanf("%s", fname);
    printf("请输入你的名:");// 这里不需要lname
    scanf("%s", lname);// 字符串的格式化输出符是%s
    printf("你的姓名是%s%s\n", fname, lname);

    return 0;
}
页: [1]
查看完整版本: 感觉没问题,为啥会这样/