c语言选择题,如图,求解

 我来答
风雷九州
2014-12-22 · TA获得超过3024个赞
知道大有可为答主
回答量:1127
采纳率:100%
帮助的人:406万
展开全部
先看scanf语句

scanf("%d%c%d%c")

中间没有任何间隔符(空格或者,),也就是scanf不会忽略掉字符全部读入。而scanf读取十进制%d数据的时候,会自动到非数字停止,即输入1076s10的话,scanf会自动检测到中间有一个非数字s的存在,会只读入1076赋值给十进制数字。

A 10A 20B
首先scanf会要求一个10进制数字,检测到10A,发现非数字,因此读入10赋值给a1,留下A 20B;然后再要求读入一个字符,发现A,赋值给c1,留下 20B;再要求读入一个10进制数字,忽略到最开始的空格,检测到20B,发现非数字,因此读入20赋值给a2,留下B;然后再要求读入一个字符,发现B,赋值给c2。因此A是正确的。

B 10 A20B
首先scanf会要求一个10进制数字,检测到10 (空格),发现非数字,因此读入10赋值给a1,留下 (空格)A20B;然后再要求读入一个字符,发现(空格),赋值给c1。因此B错误。

C 10A20 B
同A选项,a1=10,c1 = A,a2=20;读入完a2后,留下的是 B,这时要求读入一个字符的时候,发现的是 (空格),所以c2 = 空格了,错误

D 10 A 20 B
这个就不讲了吧

具体scanf是怎么略去间隔符的讲解可以详细参见百科

http://baike.baidu.com/link?url=WrFvCrlgbC0QyCWIBG25UkT1MrikbVEAEreGwsAzmhJcELTeAgYNo5BSS5aJTbzwRSJrFDsfNrkX3GZ6SJuy8q
月无尘zq
2014-12-22 · 超过17用户采纳过TA的回答
知道答主
回答量:71
采纳率:0%
帮助的人:41.1万
展开全部
选择d,输入顺序a1,c1,a2,c2
追问
答案是a啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式