搜索
查看: 1091|回复: 9
打印 上一主题 下一主题

我算的是7,6,但答案是5,5,怎么分析?

[复制链接]
跳转到指定楼层
楼主
发表于 2013-12-8 00:36:23 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
运行以下程序后,如果从键盘上输入china#<回车>,
则输出结果为
   #include <stdio.h>
   main( )
   { int v1=0,v2=0;
     char ch;
     while ((ch=getchar( ))!='#')
       switch(ch)
       { case 'a':
         case 'h':
         default: v1++;
         case 'o': v2++;
       }
       printf("%d,%d\n",v1,v2);
    }
沙发
 楼主| 发表于 2013-12-8 00:50:24 | 显示全部楼层
输入c:: v1=1,v2=1
输入h:v1=3,v2=2
输入i:v1=4,v2=3
输入n:v1=5,v2=4
输入a:v1=7,v2=6  哪一步出现问题了?
板凳
 楼主| 发表于 2013-12-8 01:09:58 | 显示全部楼层
不是有break才停止的吗?输入h后v1自增一次后,接着执行default,再自增啊,为什么只会运行一次?
地板
 楼主| 发表于 2013-12-8 01:30:21 来自手机 | 显示全部楼层
好吧,你把我搞糊涂了。你说选择支之后的都执行,除非有break之类,这道题是没有break的,所以我就执行到底啊
5#
 楼主| 发表于 2013-12-8 01:49:28 来自手机 | 显示全部楼层
前两个case后面是空的,就默认为下面defalt后面的语句v1自增啊。老师之前是这么讲的,但这么算,答案又不对了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表