为了账号安全,请及时绑定邮箱和手机立即绑定

如下图,这样写不对吗?为什么执行不了?

如下图,这样写不对吗?为什么执行不了?

Smart猫小萌 2022-11-03 14:10:29
#include<stdio.h>void main(){char c1,c2;c1=getchar(),c2=getchar();putchar(c1);putchar(c2);printf("%c %c\n",c1,c2);}
查看完整描述

2 回答

?
ITMISS

TA贡献1871条经验 获得超8个赞

getchar()是到缓冲区读取第一个字符
首先,从键盘输入许多字符,最后回车后,所有字符包括回车放到缓冲区
这时才开始循环执行getchar(),读入一个字符判断是否回车,不是就继续读,是回车就退出循环(之所以说是顺序接受一行字符,是因为它取的始终是缓冲区中第一个字符,每取一个缓冲区的字符少一个,也就是顺序读取了)

查看完整回答
反对 回复 2022-11-08
?
红颜莎娜

TA贡献1842条经验 获得超13个赞


#include<stdio.h>#include<conio.h>intmain(void){intc;inta;a=getchar();printf("%c",a);while((c=getchar())!='\n')//c接收的值是输入第一个字符后按下的回车换行符'\n',c是不会显示的{printf("%c",c);}getchar();return0;}

注:可以利用getchar()函数让程序调试运行结束后等待编程者按下键盘才返回编辑界面,用法:在主函数结尾,return 0;之前加上getchar();即可


查看完整回答
反对 回复 2022-11-08
  • 2 回答
  • 0 关注
  • 116 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号