C语言问题关于ASCII的问题

来源:百度知道 编辑:UC知道 时间:2024/05/08 15:32:14
#include"stdio.h"
main(void){
char c,a;
c=getchar();
a=c-32;
printf("%c",a);
system("pause");
}
这是一个输入小写,输出大写的程序代码高手解释一下

c=getchar();
a=c-32;
这两步的意思?

函数getchar的功能是从stdin流中读字符.
stdin是什么?这句话是什么意思?和ASCII有关吗?

a=c-32
为什么是-32,32有什么意思吗?

printf("%c",a);
这其中%c是什么意思?还有%d,%f都是什么意思?还有其他的吗?

stdin 是unix下的概念,说白了就是你的输入设施,就是键盘。
c=getchar();//从键盘输入一个字符付给c
a=c-32; //你好好看看ascii码表,大写于小写相差32所以他这样设计。

c是表示打印出一个char;
d是整数;
f是浮点。
明白?

StdIn( ) 返回值 结果 StandardInputStream 类 标准输入流通常是用于终端程序的键盘。
c=getchar();//从键盘输入一个字符付给c
a=c-32; //大小写字母对应之差为32
回去在看一下书

小写字母的ascii值和大写字母的ascii值相差32,如a是97,而A是65