关于国家计算机二级C语言的几个问题,高手来教教我吧.....十分感谢!!!!

最近在自学C语言,遇到几个问题,觉得很棘手,特来在此请教.......1.scanf能不能读入空格,回车????我在网上看好像scanf不能读入空格,如果输入两个字符串,... 最近在自学C语言,遇到几个问题,觉得很棘手,特来在此请教.......
1.scanf能不能读入空格,回车????我在网上看好像scanf不能读入空格,如果输入两个字符串,中间可以用空格或是回车隔开;后来我做题时发现有的题目写着如果输入两个字符串,中间不能用空格隔开,若用空格,则空格记入空格后面的那具字符串中,需用回车隔开,到底怎么回事啊??????????
2.关于switch语句
如题:
main()
{ int a,i;a=o;
for(i=1;i<5;i++)
{ switch(i)
{ case 0:
case 3:a+=2;
case 1:
case 2:a+=3;
default:a+=5;}
}printf("%d\n",a);}

我不明白的就是(1)若i=1,case0,case3是不是都不运行了,直接运行case1??若是i=2,直接执行case2,不执行case0,case3,case1???
(2)执行完case1,case1语句中无break,是不是接着执行case2?还是跳出本次循环,执行下一次循环????

就这些问题了,呵呵,请高手来解答下..........希望高手能留个QQ,便于以后交流....万分感激...........
展开
 我来答
陈暴龍
2010-02-04 · TA获得超过406个赞
知道小有建树答主
回答量:175
采纳率:0%
帮助的人:167万
展开全部
1.scanf() 遇到空格和回车后会结束输入 所以其实scanf只会读到你空格或者回车前面的东西.而后面的变量将从键盘缓冲区中等待或者消失.我个人习惯scanf()函数中尽量不使用空格和回车

2.case后如果没有break 则执行下一个case语句.你用vs2008调试一下就可以了
按F10 逐句调试就好了.
(1)若i=2 就执行case2 default的.
(2)case1中无break就执行case2的 再执行case3 再执行default

最后答案a=31
★徐笑人生★
2010-02-04 · TA获得超过165个赞
知道答主
回答量:204
采纳率:0%
帮助的人:113万
展开全部
2(1) I等于1的时候,CASE 0和3都不运行了。运行CASE 1.I等于2,运行CASE 2.其实当I等于1和2的时候都是运行A+=3;当I等于0和3的时候都是运行 A+=2;
没有BREAK语句的话,当你执行到那一步的时候,还会执行下面的。然后又运行下一次的循环。
第一题的,我不是很明白问题,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
问题己解决
2010-02-04 · TA获得超过227个赞
知道答主
回答量:383
采纳率:0%
帮助的人:91.5万
展开全部
不是诚信学的话,找个保过班算了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
大小多少日
2010-02-04
知道答主
回答量:22
采纳率:0%
帮助的人:0
展开全部
(1)是
(2)不会立即跳出,会挨个判断,然后退出,不过不会执行别的case后边的东西
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
汲晨希sF
2010-02-04 · TA获得超过192个赞
知道小有建树答主
回答量:199
采纳率:0%
帮助的人:112万
展开全部
看书吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式