标题:不敢确定,求大虾鉴定下
只看楼主
linkang1024
Rank: 2
等 级:论坛游民
帖 子:90
专家分:83
注 册:2011-10-10
结帖率:70.83%
 问题点数:0 回复次数:8 
不敢确定,求大虾鉴定下
#include<stdio.h>
int main()
{int s=0,k;
for(k=7;k>=0;k--)
{
switch(k)
{
case1:
case4:
case7:s++;break;
case2:
case3:
case6:break;
case0:
case5:s+=2;break;
}
}
printf("s=%d\n",s);
return 0;
}
这程序好像是错的吧,不管K取到哪个值最后的结果应该都是S=0?  求解
搜索更多相关主题的帖子: return break 
2011-10-25 21:29
小狂人1
Rank: 2
等 级:论坛游民
帖 子:8
专家分:15
注 册:2011-7-1
得分:0 
#include<stdio.h>
int main()
{
    int s=0,k;
    for(k=7;k>=0;k--)
    {
        switch(k)
        {
        case 1:
        case 4:
        case 7:s++;break;
        case 2:
        case 3:
        case 6:break;
        case 0:
        case 5:s+=2;break;
        }

    }
    printf("s=%d\n",s);
    return 0;
}
我怎么得7呢??
2011-10-25 21:53
zero0915
Rank: 2
等 级:论坛游民
帖 子:20
专家分:47
注 册:2011-10-23
得分:0 
case   和后面的序号没分开
2011-10-25 21:54
忆泪
Rank: 2
等 级:论坛游民
帖 子:42
专家分:49
注 册:2011-10-22
得分:0 
case与数字之间应该有空格的
2011-10-25 21:56
linkang1024
Rank: 2
等 级:论坛游民
帖 子:90
专家分:83
注 册:2011-10-10
得分:0 
回复 2楼 小狂人1
为何等于7、求解、
2011-10-26 08:13
justhzt
Rank: 1
等 级:新手上路
帖 子:6
专家分:2
注 册:2009-6-3
得分:0 
case后面有空格的,运行一下程序,就明白了
2011-10-26 20:16
scanif
Rank: 1
等 级:新手上路
帖 子:9
专家分:8
注 册:2011-10-10
得分:0 
case子句与数字之间应该加上空格的,一般IDE都会提醒。
2011-10-26 20:40
华夏永荣
Rank: 2
等 级:论坛游民
帖 子:35
专家分:12
注 册:2010-10-9
得分:0 
在第一次运行时,会case到  “case 7:s++;break;” ,运行此句之后 S 会自加到1,如果 case 后没有 break,那么程序就会运行下个 case ,希望楼主,看下 switch 的运行方式。。
2011-10-26 21:24
RunGame
Rank: 2
等 级:论坛游民
帖 子:20
专家分:48
注 册:2011-10-26
得分:0 
case 1:
        case 4:
        case 7:s++;break;
        case 2:
        case 3:
        case 6:break;
        case 0:
        case 5:s+=2;break
搞懂 case的含量就OK了,一般case后都会跟break的,你这样的题,纯是考学生的题,没什么意思
循环7次,1,4,7时 s增1, 2,3,6时不变,0,5时s增2,不就是1+1+1+2+2=7喽
2011-10-26 22:17



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-353425-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.294831 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved