运行
#include"stdio.h"void main()
{
char a; int b; float c;
a=getchar();
putchar(a);
putchar('\t');
putchar(a>='a'&&a<='z'?a-32:a);
putchar('\n');
getchar();
scanf("%c%d%f",&a,&b,&c);
printf("a=%cb=%d c=%.2f\n",a,b,c);
getchar();
scanf("a=%cb=%dc=%f",&a,&b,&c);
printf("a=%d b=%c c=%.2f\n",a,b,c);
}
输入: a ↙
输入: b □65 □3.141592613↙
输入: a=b □b=65 □c=3.141592613↙球球各位大佬运行一下这段代码,讲解一下这段代码,球球了!!!!
本帖最后由 风过无痕1989 于 2020-10-18 02:03 编辑
你所要的解释,全部在注释里了
#include<stdio.h>// 错误! stdio.h 是系统自带的头函数,要用尖括号,不能用引号
void main()
{
char a; // 定义一个字符变量 a
int b; // 定义一个整型变量 b
float c; // 定义一个浮点型变量 c
a = getchar(); // 接收一个字符,并赋给变量 a
putchar(a); // 输出字符
putchar('\t'); // 输出一个制表符的间隔
putchar(a>='a'&& a<='z'? a-32:a);// 如果变量 a 贮存的字符是小写字母,转换成大写字母
putchar('\n'); // 输出一个回车(即换一行)
getchar(); // 等待接收一个字符
scanf("%c%d%f",&a,&b,&c); // 这才是scanf()的正确用法
// 输出字符a = a(贮存的字符) 输出整数b = b(贮存的数值) 保留两位小数输出浮点数c = c(贮存的数值)\n 是换行
printf("a = %c b = %d c = %.2f\n",a,b,c);
getchar();
// 此语句错误!scanf()不能这么用,除控制符外不能加入任何字符,否则会出错
scanf("a=%cb=%dc=%f",&a,&b,&c);
// 输出字符a的ASCII码a = a(贮存的字符) 输出b的ASCII码字符b = b(贮存的数值) 保留两位小数输出浮点数c = c(贮存的数值)\n 是换行
printf("a = %d b = %c c = %.2f\n",a,b,c);
}
/*输入: a ↙
输入: b □65 □3.141592613↙
输入: a=b □b=65 □c=3.141592613↙*/
本帖最后由 楠楠宝贝吖 于 2020-10-18 11:05 编辑
风过无痕1989 发表于 2020-10-18 02:01
你所要的解释,全部在注释里了
您能给我一份正确的嘛?书上就是这么写的,小白表示很蒙蔽呀 楠楠宝贝吖 发表于 2020-10-18 11:00
您能给我一份正确的嘛?书上就是这么写的,小白表示很蒙蔽呀
在程序里呀,你点那个复制代码,就可以粘贴到你的编译软件里去了呀
你还可以粘贴到文本文件.txt 或 WORD.docx 或 WORD.doc 里去呀,将它们打印出来 楠楠宝贝吖 发表于 2020-10-18 11:00
您能给我一份正确的嘛?书上就是这么写的,小白表示很蒙蔽呀
你是怀疑书上的写错了? 乐乐学编程 发表于 2020-10-18 22:17
你是怀疑书上的写错了?
真的,上面他说scanf函数不对,但是书上就那么写的’ 风过无痕1989 发表于 2020-10-18 11:20
在程序里呀,你点那个复制代码,就可以粘贴到你的编译软件里去了呀
你还可以粘贴到文本文件.txt 或 WO ...
好的 楠楠宝贝吖 发表于 2020-10-19 16:20
真的,上面他说scanf函数不对,但是书上就那么写的’
scan函数写成这样:scanf("a=%cb=%dc=%f",&a,&b,&c) 当然是不行的哪 楠楠宝贝吖 发表于 2020-10-19 16:21
好的
对于这个求助,没有什么问题了就给个最佳答案吧,其他的问题,咱们其他再说,好吗? 楠楠宝贝吖 发表于 2020-10-19 16:20
真的,上面他说scanf函数不对,但是书上就那么写的’
你的程序里有两个 scanf() 函数,第一个是正确的,第二个是错误的,2楼的朋友已经在注释里给了你正确的解答,还有什么不明白的呢? 风过无痕1989 发表于 2020-10-19 17:38
scan函数写成这样:scanf("a=%cb=%dc=%f",&a,&b,&c) 当然是不行的哪
那应该是怎么写呀? 楠楠宝贝吖 发表于 2020-10-20 16:24
那应该是怎么写呀?
scanf("%c%d%f%lf",&a,&b,&c,&d);
%c 是输入字符,%d 是输入数字,%f 是输入浮点数(float 型),%lf 是输入双精度数字(double 型,注意:f 前面的是大写字母 L 的小写字母,而不是数字 1)
页:
[1]