【时时三省】(C语言基础)用gutchar函数输入一个字符
山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省
用gutchar函数输入一个字符
为了向计算机输入一个字符,可以调用系统函数库中的getchar函数(字符输入函数)。
getchar函数的一般形式为
getchar()
getchar是get character(取得字符)的缩写,getchar函数没有参数,它的作用是从计算机终端getchar()(一般是键盘)输入一个字符,即计算机获得一个字符。getchar函数的值就是从输入设备得到的字符。getchar函数只能接收一个字符,如果想输入多个字符就要用多个getchar函数。
例题:
从键盘输入BOY3个字符,然后把它们输出到屏幕。
解题思路:
用3个getchar函数先后从键盘向计算机输入BOY3个字符,然后用putchar函数输出。
编写程序:
运行结果:
注意:在连续输入BOY并按Enter键后,字符才送到计算机中,然后输出BOY3个字符。
说明:在用键盘输入信息时,并不是在键盘上敲一个字符,该字符就立即送到计算机中去的。这些字符先暂存在键盘的缓冲器中,只有按了Enter键才把这些字符一起输入到计算机中,然后按先后顺序分别赋给相应的变量。
如果在运行时,每输入一个字符后马上按Enter键,会得到什么结果?
运行情况:
B输入字符B后马上按Enter,再输入字符O,按Enter。立即会分两行输出B和O。
请思考是什么原因?
第1行输入的不是一个字符B,而是两个字符:B和换行符,其中字符B赋给了变量换行符赋给了变量b。第2行接着输入两个字符:O和换行符,其中字符O赋给了变量换行符没有送入任何变量。在用putchar函数输出变量a,b,c的值时,就输出了字符B,然后输出换行,再输出字符O,然后执行putchar('\n'),换行。
注意:执行getchar函数不仅可以从输入设备获得一个可显示的字符,而且可以获得在屏幕上无法显示的字符,如控制字符。
用getchar函数得到的字符可以赋给一个字符变量或整型变量,也可以不赋给任何变量,而作为表达式的一部分,在表达式中利用它的值。例如,上面的例题也可以改写如下:
在连续输入BOY并按Enter键后,这些字符才被送到计算机中,然后按得到字符的顺序输出3个字符BOY,最后再输出一个回车。因为第1个getchar函数得到的值为' B ',因此putchar ( getchar() )相当于putchar ( ' B ' ),输出' B '。第2个getchar函数相当于putchar ( ' O ' ),输出得到的值为' O '。第3个情况类似。
注意:不要在按B后马上按回车键,这样就会把回车也作为一个字符输入
也可以在printf函数中输出刚接收的字符:
printf ( " % c”,getchar ( ) );
在执行此语句时,先从键盘输入一个字符,然后用输出格式符%c输出该字符。