(15)有以下程序 #include<stdio.h> main() { char a,b,c,d; scanf(“%c%c”,&a,&b)

(15)有以下程序#include<stdio.h>main(){chara,b,c,d;scanf(“%c%c”,&a,&b);c=getchar();d=getcha... (15)有以下程序
#include<stdio.h>
main()
{ char a,b,c,d;
scanf(“%c%c”,&a,&b);
c=getchar(); d=getchar();
printf(“%c%c%c%c\n”,a,b,c,d);
}
当执行程序时,按下列方式输入数据(从第1列开始,<CR>代表回车,注意:回车也是一个字符)
12<CR>
34<CR>
则输出结果是
A)1234
B)12
C)12
3
D)12
34
请问为什么选C,详细一点,谢谢
展开
 我来答
dudebing99
2010-08-18 · TA获得超过182个赞
知道小有建树答主
回答量:135
采纳率:0%
帮助的人:94.6万
展开全部
前面你也知道,回车是一个字符,这个很重要;
然后我想说明的是,getchar()函数是读取从标准输入设备(主要是键盘)的“一个字符”,注意,对具体是什么字符没有要求,就是说可以读取回车符。
所以,很显然了,按照你的输入,1赋给a,2赋给b;第一个回车赋给c,然后3赋给d;程序的输出就是依次输出1,2,然后回车(换行),然后3。
不懂的话留言咯!
classfun
推荐于2018-04-11 · TA获得超过620个赞
知道小有建树答主
回答量:298
采纳率:0%
帮助的人:267万
展开全部
当输入12<CR>,scanf()函数只接收了12 分别送给了变量a b,而回车则被下面的一个getchar()函数接收,故c='\n'(回车),第二次输入时,34<CR> getchar()函数只能接收1个字符,其他的被丢弃了。所以d='3'
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式