getchar,putchar在c语言中怎么用
大家好,今天小编来为大家解答getchar这个问题,putchar在c语言中怎么用很多人还不知道,现在让我们一起来看看吧!
getchar用法
三种用法:
1、从缓冲区读走一个字符,相当于清除缓冲区
2、前面的scanf()在读取输入时会在缓冲区中留下一个字符'
'(输入完s[i]的值后按回车键所致),所以如果不在此加一个getchar()把这个回车符取走的话,gets()就不会等待从键盘键入字符,而是会直接取走这个“无用的”回车符,从而导致读取有误
3、getchar()是在输入缓冲区顺序读入一个字符(包括空格、回车和Tab)
错在getchar()是从键盘读取一个字符放入缓冲区,然后在取出来,你在输入某个数或者字符后敲回车其实缓冲区也接受了你的回车了。
可以这么修改:
char ch;
int key;
printf("please input key");
scanf("%d",&key);
fflush(stdin);
printf("please input ming wen
");
ch=getchar();
fflush(stdin);
while(ch!='
')
{
putchar(ch+key);
printf("
");
ch=getchar();
fflush(stdin);
}
加上fflush(stdin);来清空缓冲区
想要程序结束,直接敲回车就可以了。
扩展资料:使用getchar函数还应注意几个问题:
1、getchar函数只能接受单个字符,输入数字也按字符处理。输入多于一个字符时,只接收第一个字符。
2、使用本函数前必须包含文件“stdio.h”。
3、在TC屏幕下运行含本函数程序时,将退出TC屏幕进入用户屏幕等待用户输入。输入完毕再返回TC屏幕。
void main(){
char a,b,c;
printf("input character a,b,c
");
scanf("%c%c%c",&a,&b,&c);
printf("%d,%d,%d
%c,%c,%c
",a,b,c,a-32,b-32,c-32);
}
输入三个小写字母
输出其ASCII码和对应的大写字母。
void main(){
int a;
long b;
float f;
double d;
char c;
printf("%d,%d,%d,%d,%d",sizeof(a),sizeof(b),sizeof(f)
,sizeof(d),sizeof(c));
输出各种数据类型的字节长度。
什么是getchar函数
1.读取字符
getchar()的功能最主要是c语言中读取字符的一个函数,能够提取单个字符。
2.输入单个字符
getchar()的功能还可以从键盘中输入一个单个的字符,并且把单个的字符输入到计算机中。
3.返回值是char类型
可以返回int类型的值。
getchar由宏实现:#define getchar() getc(stdin)。getchar有一个int型的返回值。当程序调用getchar时,程序就等着用户按键。用户输入的字符被存放在键盘缓冲区中。直到用户按回车为止。当用户键入回车之后,getchar才开始从stdin流中每次读入一个字符。
getchar函数的返回值是用户输入的字符的ASCII码,若文件结尾则返回-1(EOF),且将用户输入的字符回显到屏幕。如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取。也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完后,才等待用户按键。
C语言中getchar()怎么用
getchar()返回输入流中的一个字节,如果输入流已经到尾部,返回EOF(-1)
例如:
#defineEOF-1
voidfunc(void)
{
intc=getchar();//getchar返回值是int
if(c==EOF)
return;
func();//递归调用func函数,实现倒序输出
putchar(c);//输出字符
}
这个函数会在输入EOF后结束读取,然后输出输入的倒续。
扩展资料:
getchar函数语法
1、函数声明
int getchar(void)
2、参数
3、功能
C库函数int getchar(void)从标准输入 stdin获取一个字符(一个无符号字符)。这等同于getc带有 stdin作为参数。
4、返回值
该函数以无符号 char强制转换为 int的形式返回读取的字符,如果到达文件末尾或发生读错误,则返回EOF。
5、用法
该函数声明在stdio.h头文件中,使用的时候要包含stdio.h头文件。
参考资料来源:百度百科-getchar()
关于getchar,putchar在c语言中怎么用的介绍到此结束,希望对大家有所帮助。