c语言中用getchar()输入字符是回车算一个字符吗

 我来答
八哥说科技
高粉答主

2019-09-27 · 分享科技资讯,共享科技生活
八哥说科技
采纳数:111 获赞数:78610

向TA提问 私信TA
展开全部

是的,c语言中用getchar()输入字符是回车算一个字符。

解析:getchar()是stdio.h中的库函数,作用是从stdin流中读入一个字符。如果stdin有数据的话不用输入它就可以直接读取了。

当程序调用getchar时,程序就等着用户按键。用户输入的字符被存放在键盘缓冲区中,直到用户按回车为止(回车字符也放在缓冲区中)。即回车是用户输入结束的标志,同时也会将回车字符也放在缓冲区中,此时getchar才开始从键盘缓冲区中读取数据,包括回车符。

扩展资料:

相近的函数getch:

getch与getchar基本功能相同,差别是getch直接从键盘获取键值,不等待用户按回车,只要用户按一个键,getch就立刻返回,getch返回值是用户输入的ASCⅡ码,出错返回-1。

输入的字符不会回显在屏幕上.getch函数常用于程序调试中,在调试时,在关键位置显示有关的结果以待查看,然后用getch函数暂停程序运行,当按任意键后程序继续运行。

参考资料来源:百度百科-getchar

温顺又灵巧的君子兰4
推荐于2017-09-29 · TA获得超过9376个赞
知道大有可为答主
回答量:1254
采纳率:0%
帮助的人:727万
展开全部
还是让我举个例子吧!
对于以下代码:
ch1=getchar();
ch2=getchar();

如果我从键盘输入一个字符,假如是'a'吧,然后按回车.
那么'a'成功赋给ch1.
但如果我又想从键盘输入另一个字符,假如是'b'吧(当然你也可以输入'a'),但此时对ch2的赋值是不成功的.理由是第一次输入时你按下的回车,编译系统会把回车看成是一个字符,自动把它赋到ch2中了!
如果你想不让刚才按下的回车自动赋到ch2中,你可以在上面两个语句之间插入语句getchar();
这个getchar()语句可以把那个回车给"吃掉".
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
L_o_o_n_i_e
2008-04-03 · TA获得超过4.2万个赞
知道大有可为答主
回答量:8507
采纳率:38%
帮助的人:5110万
展开全部
算一个字符.

例如下面程序,你输入a回车
char ch1,ch2;
printf("Enter a\n");
ch1=getchar();
printf("ch1=%c ",ch1);
ch2=getchar();
printf("ch2=%c| ",ch2);
printf("---ch2=0x%02x| ",ch2);

可以看见ch2回车的动作和它的ASCII值 0x0a
-------------

顺便说一句
用scanf() 输入时,最好加一个 \n, 这样下接 getchar(); 时不会犯错
scanf("%d...\n",&i,...);
ch = getchar();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
50573750
2008-04-03 · TA获得超过976个赞
知道大有可为答主
回答量:1800
采纳率:100%
帮助的人:0
展开全部
是的,所以有时候,一些刚学C库的人,会因为这个而调试不明白。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d6c5e84
2008-04-03 · TA获得超过448个赞
知道小有建树答主
回答量:578
采纳率:0%
帮助的人:328万
展开全部
语句:ch=getchar();的作用等同于:scanf("%c",&ch);
在输入时,空格,回车等都将作为字符读入,而且只能在用户敲入Enter键时,读入才开始执行.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式