C语⾔中的getchar()与putchar()详解
getchar() ⽤于读取⽤户从键盘输⼊的单个字符,它有⼀个整型的返回值,当发⽣读取错误的时候,返回整型值-1,当读取正确的时候,它会返回⽤户从键盘输的第⼀个字符的ASCII码,当程序调⽤getchar时.运⾏程序时就等着⽤户从按键输⼊,⽤户输⼊的字符被存放在键盘缓冲区中.直到⽤户按回车为⽌(回车字符也放在缓冲区中),当⽤户键⼊回车之后,getchar才开始从输⼊流中每次读⼊⼀个字符,输⼊的字符不只⼀个的时候,后续的getchar调⽤不会等待⽤户按键,⽽直接读取缓冲区中的字符,直到缓冲区中的字符读完之后,才等待⽤户按
键,getchar函数输⼊数字也按字符处理,单个的getchar函数输⼊多于⼀个字符时,只接收第⼀个字符
putchar()向终端输出⼀个字符。其格式为putchar(ch),其中ch可以是被单引号(英⽂状态下)引起来的⼀个字符,可以是介于0~127之间的⼀个⼗进制整型数(包含0和127)(超过127就不是ASCII码了),也可以是事先⽤char定义好的⼀个字符型变量当c为⼀个被单引号(英⽂状态下)引起来的字符时,输出该字符(注:该字符也可为转义字符),当c为⼀个介于0~127(包括0及127)之间的⼗进制整型数时,它会被视为对应字符的ASCII代码,输出该ASCII代码对应的字符;当c为⼀个事先⽤char定义好的字符型变量时,输出该变量所指向的字符。当整型变量ch超出8位变量的范围时,ch则会变强制转化为8位变量(即取其低⼋位传过去输出),当为负数的时候,由于计算机存储负数是⽤补码表⽰的,所以传过去的⼆进制补码也被当做正数处理,也是取其低⼋位
getchar()和putchar()函数包含在头⽂件stdio.h中,使⽤时需包含此头⽂件
举些简单的例⼦:
#include “stdio.h”
int main(void){
char ch;
ch = getchar();
putchar(ch);
return 0;
}
1. 输⼊⼀个a,然后按下回车,输出a
2. 直接按下回车,然后输出也是回车空了⼀⾏,说明回车是被读取并放在键盘缓冲区中的
c语言char的用法#include “stdio.h”
int main(void){
char ch;
ch = getchar();
putchar(ch);
ch = getchar();
putchar(ch);
putchar(ch);
return 0;
}
1. 输⼊为a时,输出会出现a,并且加上两个回车,注意是有两个回车的,在第⼆个getchar()的时候已经将ch的值变为回车字符了,所以后⾯输出两个回车的,putchar()函数本⾝是最后不⾃动加回车符的
2. 当第⼀次输⼊为空格时,那么此时键盘缓冲区只有回车符,并且结束输⼊,然后putchar函数输出回车符,也就是空⼀⾏,然后继续等待⽤户从终端输⼊字符,然后输⼊1,按下回车,那么此时ch的值就是字符1(注意这⾥输⼊的数字统统表⽰字符,输⼊123,那就
是‘1’‘2’‘3’3个字符加上回车符),此时输出两个连续的1,并且后⾯没有回车
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论