| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 518 人关注过本帖
标题:为什么答案是 0,1,2,5
只看楼主 加入收藏
huhao3225
Rank: 2
来 自:四川成都
等 级:论坛游民
帖 子:39
专家分:25
注 册:2011-11-9
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:4 
为什么答案是 0,1,2,5
#include <stdio.h>
main()
{
    int i=0,j=0,k=0,m;
    for (m=0;m<4;m++)
        switch (m)
    {
        case 0: i=m++;
        case 1: j=m++;
        case 2: k=m++;
        case 3: m++;
    }
    printf("%d,%d,%d,%d\n",i,j,k,m);
}
为什么答案是 0,1,2,5


[ 本帖最后由 huhao3225 于 2011-12-29 22:36 编辑 ]
搜索更多相关主题的帖子: include 
2011-12-29 22:24
liao06550107
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:111
专家分:696
注 册:2011-10-2
收藏
得分:4 
没有加break,所以顺序执行。
m=0; 进入case 0: i=0; m=1 ,然后进入case 1: j=1; m=2,然后进入case 2: k=2; m=3,然后进入case 3: m++ 后m=4,最后是for循环中m++ 后m=5>4 结束输出。
所以i=0, j=1, k=2, m=5.

听不同的音乐,看不同的书,游历不同的城市,邂逅不同的人,走的多了,站的高了,自然就看的远了。
2011-12-29 22:45
暴风雪282
Rank: 4
等 级:业余侠客
帖 子:61
专家分:295
注 册:2011-10-4
收藏
得分:1 
楼上正解,谭浩强的书上说的很清楚的...

Dance like there is nobody.
2011-12-29 22:49
huhao3225
Rank: 2
来 自:四川成都
等 级:论坛游民
帖 子:39
专家分:25
注 册:2011-11-9
收藏
得分:0 
为什么m=4后,还要返回for去执行一次m++
2011-12-29 22:53
liao06550107
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:111
专家分:696
注 册:2011-10-2
收藏
得分:5 
for(语句1;语句2;语句3)
{
  语句4;
}
你不明白for()这一结构块语句执行顺序
第一步执行语句1, 第二步判断语句2是否为真,第三步执行语句4,第五步最后执行语句3
如此从第二步到第五步循环执行,直到判断语句2为假,跳出循环。

听不同的音乐,看不同的书,游历不同的城市,邂逅不同的人,走的多了,站的高了,自然就看的远了。
2011-12-29 23:02
快速回复:为什么答案是 0,1,2,5
数据加载中...
 
   



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

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