C语言什么时候应该加getchar()吃掉回车

是在整形输入后还是字符串输入后还是字符输入后如果每当有输入语句时都去加一个getchar()可以吗... 是在整形输入后 还是字符串输入后 还是字符输入后 如果每当有输入语句时都去加一个getchar()可以吗 展开
 我来答
匿名用户
2013-04-20
展开全部
getchar()只能接你输入的一个字符,而不是字符串。getchar()也不是乱用的,一般情况就用在输入字符的的情况下。至于你后面说的每当有输入语句时都去加一个getchar()是没有必要的。如果你想用getchar()去接住上次输入的回车符以便给下面的运算带来准确性的话,就是在输入整型或者浮点型之后再加一个getchar(),至于要不要在每一行都加就要看什么情况了。我可以给你举两个个简单的例子#include"stdio.h"main(){char ch1,ch2,ch3;</p><p>printf("Enter:");</p><p>ch1=getchar();</p><p>getchar();</p><p>printf("Enter:");</p>ch2=getchar();<p>printf("Enter:");</p><p>ch3=getchar();</p><p>putchar(ch1);</p><p>putchar(ch2);</p><p>putchar(ch3);</p><p>putchar('\n');}可以tc运行下。这个程序就是每句后加了getchar()的,是用来你在运行的时候接住你输入的回车的(因为回车也是字符)。再来看一个例子不是每句都需要getchar()的#include"stdio.h"main(){float x,y,z;</p><p> char po;</p><p>printf("Enter:'); /*提示用户输入数据*/ </p><p>scanf("%f,%f",&x,&y);</p><p>getchar(); /*接住scanf输入后的回车符*/</p><p>printf("选择运算符号+、—、*、/:");</p><p> op=getchar(); /*输入运行符的,不是接回车*/ </p><p>switch(op)</p><p>{case '+':z=x+y;break;</p><p>case '-':z=x-y;break;</p><p>case '*':z=x*y;break;</p><p>case '/':z=x/y;break;</p><p>default:printf("%c,不是运行符.\n",op);</p><p>exti(0);} /*用来退出程序 */ printf(%g%c%g=%g\n\n",x,op,y,z);}这个是计算器的程序,这里只用了一个getchar接回车(就是你所说的吃掉回车)。再来看一个不需要getchar接回车的程序#include"stdio.h"main(){char ch1;</p><p>ch1=getchar();</p><p>putchar(ch1);}这个程序就是打印出你输入的字符,不需要用getchar来接回车,因为getchar只接一个字符,当你输入一个字母再回车时,getchar只接第一个字母,默认回车符跳出输入界面。以上程序在turboc中运行。希望你能通过三个例子明白什么时候用getchar,什么时候不需要。
匿名用户
2013-04-20
展开全部
在需要连续输入的情况下,也就是你刚输入完一个字符串,后面还需要输入另一个,需要加一个getchar(),用它来抵消那个回车键,要不第二个字符串会有问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2018-08-04
展开全部
  getchar有一个int型的返回值,当程序调用getchar时,程序就等着用户按键,用户输入的字符被存放在键盘缓冲区中,直到用户按回车为止(回车字符也放在缓冲区中)。
  当用户键入回车之后,getchar才开始从stdio流中每次读入一个字符。getchar函数的返回值是用户输入的字符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕。
  如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取。也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键。
  简单来说:在需要连续输入回车的情况下,刚输入完一个字符串,后面还需要输入另一个,需要加一个getchar(),用它来抵消那回车键,要不第二个字符串会有问题。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式