鱼C论坛

 找回密码
 立即注册
查看: 757|回复: 11

[已解决]运行

[复制链接]
发表于 2020-10-18 00:48:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. #include"stdio.h"
  2. void main()
  3. {
  4.         char a; int b; float c;
  5.         a=getchar();
  6.         putchar(a);
  7.         putchar('\t');
  8.         putchar(a>='a'&&a<='z'?a-32:a);
  9.         putchar('\n');
  10.         getchar();
  11.         scanf("%c%d%f",&a,&b,&c);
  12.         printf("a=%cb=%d c=%.2f\n",a,b,c);
  13.         getchar();
  14.         scanf("a=%cb=%dc=%f",&a,&b,&c);
  15.         printf("a=%d b=%c c=%.2f\n",a,b,c);
  16. }
  17. 输入: a ↙
  18. 输入: b □65 □3.141592613↙
  19. 输入: a=b □b=65 □c=3.141592613↙
复制代码
球球各位大佬运行一下这段代码,讲解一下这段代码,球球了!!!!


最佳答案
2020-10-18 02:01:40
本帖最后由 风过无痕1989 于 2020-10-18 02:03 编辑

你所要的解释,全部在注释里了


  1. #include<stdio.h>  // 错误! stdio.h 是系统自带的头函数,要用尖括号,不能用引号
  2. void main()
  3. {
  4.         char a;                            // 定义一个字符变量 a
  5.         int b;                             // 定义一个整型变量 b
  6.         float c;                           // 定义一个浮点型变量 c
  7.         a = getchar();                     // 接收一个字符,并赋给变量 a
  8.         putchar(a);                        // 输出字符
  9.         putchar('\t');                     // 输出一个制表符的间隔
  10.         putchar(a>='a'&& a<='z'? a-32:a);  // 如果变量 a 贮存的字符是小写字母,转换成大写字母
  11.         putchar('\n');                     // 输出一个回车(即换一行)
  12.         getchar();                         // 等待接收一个字符
  13.         scanf("%c%d%f",&a,&b,&c);          // 这才是scanf()的正确用法
  14.         
  15.         // 输出字符a = a(贮存的字符) 输出整数b = b(贮存的数值) 保留两位小数输出浮点数c = c(贮存的数值)  \n 是换行
  16.         printf("a = %c b = %d c = %.2f\n",a,b,c);
  17.         getchar();
  18.      
  19.         // 此语句错误!scanf()不能这么用,除控制符外不能加入任何字符,否则会出错
  20.         scanf("a=%cb=%dc=%f",&a,&b,&c);
  21.         
  22.         // 输出字符a的ASCII码a = a(贮存的字符) 输出b的ASCII码字符b = b(贮存的数值) 保留两位小数输出浮点数c = c(贮存的数值)  \n 是换行
  23.         printf("a = %d b = %c c = %.2f\n",a,b,c);
  24. }

  25. /*输入: a ↙
  26. 输入: b □65 □3.141592613↙
  27. 输入: a=b □b=65 □c=3.141592613↙*/


复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-10-18 02:01:40 | 显示全部楼层    本楼为最佳答案   
本帖最后由 风过无痕1989 于 2020-10-18 02:03 编辑

你所要的解释,全部在注释里了


  1. #include<stdio.h>  // 错误! stdio.h 是系统自带的头函数,要用尖括号,不能用引号
  2. void main()
  3. {
  4.         char a;                            // 定义一个字符变量 a
  5.         int b;                             // 定义一个整型变量 b
  6.         float c;                           // 定义一个浮点型变量 c
  7.         a = getchar();                     // 接收一个字符,并赋给变量 a
  8.         putchar(a);                        // 输出字符
  9.         putchar('\t');                     // 输出一个制表符的间隔
  10.         putchar(a>='a'&& a<='z'? a-32:a);  // 如果变量 a 贮存的字符是小写字母,转换成大写字母
  11.         putchar('\n');                     // 输出一个回车(即换一行)
  12.         getchar();                         // 等待接收一个字符
  13.         scanf("%c%d%f",&a,&b,&c);          // 这才是scanf()的正确用法
  14.         
  15.         // 输出字符a = a(贮存的字符) 输出整数b = b(贮存的数值) 保留两位小数输出浮点数c = c(贮存的数值)  \n 是换行
  16.         printf("a = %c b = %d c = %.2f\n",a,b,c);
  17.         getchar();
  18.      
  19.         // 此语句错误!scanf()不能这么用,除控制符外不能加入任何字符,否则会出错
  20.         scanf("a=%cb=%dc=%f",&a,&b,&c);
  21.         
  22.         // 输出字符a的ASCII码a = a(贮存的字符) 输出b的ASCII码字符b = b(贮存的数值) 保留两位小数输出浮点数c = c(贮存的数值)  \n 是换行
  23.         printf("a = %d b = %c c = %.2f\n",a,b,c);
  24. }

  25. /*输入: a ↙
  26. 输入: b □65 □3.141592613↙
  27. 输入: a=b □b=65 □c=3.141592613↙*/


复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 3 反对 0

使用道具 举报

 楼主| 发表于 2020-10-18 11:00:20 | 显示全部楼层
本帖最后由 楠楠宝贝吖 于 2020-10-18 11:05 编辑
风过无痕1989 发表于 2020-10-18 02:01
你所要的解释,全部在注释里了


您能给我一份正确的嘛?书上就是这么写的,小白表示很蒙蔽呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-18 11:20:29 | 显示全部楼层
楠楠宝贝吖 发表于 2020-10-18 11:00
您能给我一份正确的嘛?书上就是这么写的,小白表示很蒙蔽呀

在程序里呀,你点那个复制代码,就可以粘贴到你的编译软件里去了呀

你还可以粘贴到文本文件.txt 或 WORD.docx 或 WORD.doc 里去呀,将它们打印出来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-18 22:17:45 | 显示全部楼层
楠楠宝贝吖 发表于 2020-10-18 11:00
您能给我一份正确的嘛?书上就是这么写的,小白表示很蒙蔽呀

你是怀疑书上的写错了?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-19 16:20:26 | 显示全部楼层
乐乐学编程 发表于 2020-10-18 22:17
你是怀疑书上的写错了?

真的,上面他说scanf函数不对,但是书上就那么写的’
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-19 16:21:03 | 显示全部楼层
风过无痕1989 发表于 2020-10-18 11:20
在程序里呀,你点那个复制代码,就可以粘贴到你的编译软件里去了呀

你还可以粘贴到文本文件.txt 或 WO ...

好的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-19 17:38:18 | 显示全部楼层
楠楠宝贝吖 发表于 2020-10-19 16:20
真的,上面他说scanf函数不对,但是书上就那么写的’

scan函数写成这样:scanf("a=%cb=%dc=%f",&a,&b,&c) 当然是不行的哪
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-19 17:39:32 | 显示全部楼层

对于这个求助,没有什么问题了就给个最佳答案吧,其他的问题,咱们其他再说,好吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-19 23:19:51 | 显示全部楼层
楠楠宝贝吖 发表于 2020-10-19 16:20
真的,上面他说scanf函数不对,但是书上就那么写的’

你的程序里有两个 scanf() 函数,第一个是正确的,第二个是错误的,2楼的朋友已经在注释里给了你正确的解答,还有什么不明白的呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-20 16:24:28 | 显示全部楼层
风过无痕1989 发表于 2020-10-19 17:38
scan函数写成这样:scanf("a=%cb=%dc=%f",&a,&b,&c) 当然是不行的哪

那应该是怎么写呀?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-20 20:29:03 | 显示全部楼层

scanf("%c%d%f%lf",&a,&b,&c,&d);

%c 是输入字符,%d 是输入数字,%f 是输入浮点数(float 型),%lf 是输入双精度数字(double 型,注意:f 前面的是大写字母 L 的小写字母,而不是数字 1)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-19 03:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表