中易网

设c1、c2为字符型变量,执行语句“c1=getchar(); c2=getchar();”时,从键盘输入A↙,c1和c2的值分别为?

答案:2  悬赏:70  
解决时间 2021-03-20 20:40
我写的程序是
#include
int main(void)
{
char c1,c2;
c1=getchar();
c2=getchar();
printf("c1=%c,c2=%c",c1,c2);
}
理论上c2会等于\n,可是实际输出却直接变换行了,什么情况



最佳答案
getchar()每次只接收1个字符,而你打入了两个字符:一个是A,另一个是\n。当c1=getchar()执行后就把A从缓冲区中删除了并赋给了c1,但\n还留在缓冲区里;接着是c2=getchar();,它就把\n从缓冲区里删除并将其赋给c2。\n是“动作”字符,不是显示字符,所以你的代码输出很正确:c1=A,c2=后跟着个不可显示的动作字符产生了动作“回车”,所以“请……”就显示在了下一行……不信你可以把c2=getchar()改成;c2=‘B’;看看“请……”是不是紧接在c1=A,c2=B后面了?
全部回答
c1=a;c2=“、getchar函数自动读入不需要确定,且一次读入一个字符,而回车也算一个字符
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
表示荒凉的四字词语
怎么取女孩名字
东莞中堂车站离红磨坊公司有多远
如何在家庭防护老年人跌倒的发生
航海国际旅行社(淮海西路店)地址在哪,我要去
芩翘口服液口感如何?
张家港有没有满记甜品店的?
青岛自动化设备哪家公司有卖?
神州行套餐是全国接听免费的吗
苏州电信宽带升级光纤44兆需要室内做明线吗
清港镇清北卫生室怎么去啊,有知道地址的么
交通事故案,到法院起诉,费用是律师出还是自己
最近一个月头顶有一小处秃发,班秃怎么办
南宁汽车坐垫加工厂那里有招工
怎样去除海蛰涩味
推荐资讯
怎么手工制作挂在墙上的收纳袋装
古九州分别是哪个地方
我想买一辆北京牌照的帕萨特下线出租车,明年
C语言程序设计中如何打汉字
张家涧村怎么去啊,有知道地址的么
奶粉配料表上有的东西但营养成分表上没有
南昌地区有没有比较好的考研辅导班吗?
我要面试品质组长要注意什么
怎样制作出车记录表格
为什么苹果app下栽不了,美团,携程,软件
我现在15岁,一次性喝两瓶红牛可以吗?
杨洋的公司叫什么名字,别蒙我
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?