本帖最后由 风过无痕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↙*/
|