C语言getchar(), while ((c = getchar()) != '\n')printf("%c", c)输入ABC,输出ABC而不是AABBC?
while((c=getchar())!='\n')printf("%c",c)输入ABC回车,输出ABC,为什么不是AABBC?...
while ((c = getchar()) != '\n')printf("%c", c)
输入ABC回车,输出ABC,为什么不是AABBC? 展开
输入ABC回车,输出ABC,为什么不是AABBC? 展开
4个回答
展开全部
getchar在回车前不处理输入缓冲区的内容。
楼主试试看_getch()替换getchar()
头文件是conio.h
楼主试试看_getch()替换getchar()
头文件是conio.h
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
getchar()函数是从buffer里获取数据,也就是说输入的ABC先存储在buffer里,当按下回车键时,getchar()函数开始从buffer中逐个读取数据
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你输入的书ABC啊,while循环的条件是你不按回车键时就不结束。每次循环时都要输入,且输出显示输入的字符。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
输入回车以后程序才开始处理缓冲内的所有内容
追问
printf("%c", c)也是缓冲区中的内容吗?所以才会输出一个字符串,是这样吗?谢谢
追答
嗯,正解……答得有点迟,抱歉
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询