| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 810 人关注过本帖
标题:帮忙分析一下,谢谢
只看楼主 加入收藏
维ddrsun
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2010-10-5
结帖率:81.25%
收藏
已结贴  问题点数:2 回复次数:11 
帮忙分析一下,谢谢
#include "stdio.h"
void main()
{  int s=0,k;
      for(k=5;k>=0;k--)
      {  switch(k)
      {    case 1:
           case 5:  s++;break;
           case 3:
           case 4:  break;
           case 0:
           case 2:  s+=2;break;
   }  }
       printf("s=%d\n",s);

    }
搜索更多相关主题的帖子: void include 
2011-01-07 15:15
点线面
Rank: 8Rank: 8
来 自:NO.-1
等 级:蝙蝠侠
帖 子:525
专家分:980
注 册:2011-1-3
收藏
得分:0 
LZ你尝试学会分析,如果不对,别人再帮你分析,对你有好处。

小代码,大智慧
2011-01-07 15:18
维ddrsun
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2010-10-5
收藏
得分:0 
回复 2楼 点线面
如果break只跳出switch,s=3
如果跳出for,s=1?
但答案我运行后,s竟然是s=6,我就知道自己无知了~~~
求指点

never give up!!
2011-01-07 15:29
点线面
Rank: 8Rank: 8
来 自:NO.-1
等 级:蝙蝠侠
帖 子:525
专家分:980
注 册:2011-1-3
收藏
得分:2 
for和switch用法明白不,
k = 5; s++   那么s从0开始自加1,即是s=1
k = 4;遇到break,跳出switch() 那时s还是1
k = 3;同上,s没有变化,还是1
k = 2;遇到s+2 那么s=1 + 2, s=3
k = 1;遇到s++  那么s从原来的3,变为s=4
k = 0;遇到s+2 你知道发生什么情形
k = -1结束任务
printf() s= 6

小代码,大智慧
2011-01-07 15:41
xufan123
Rank: 5Rank: 5
等 级:职业侠客
帖 子:226
专家分:318
注 册:2010-11-15
收藏
得分:0 
k=5 s=1;
k=4 break;
k=3;break;
k=2;+2 s=3;
k=1;+1 s=4;
k=0;+2 s=6
2011-01-07 15:41
A13433758072
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广东潮州
等 级:小飞侠
威 望:1
帖 子:1182
专家分:2784
注 册:2010-7-22
收藏
得分:0 
任何解释都不如自己看书来的效果好,楼主去看看switch循环、for循环,自增(如i++)→_→回过头会发现更多

一步一个脚印...............................默默地前进.....
诚邀乐于解答c菜鸟问题,的热心网友加入,  QQ群38490319
2011-01-07 16:53
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:0 
#include "stdio.h"
void main()
{  int s=0,k;
      for(k=5;k>=0;k--)
      {  switch(k)
        {    case 1:  //k=1,s++>>>s=4
             case 5:  s++;break;  //k=5,s++>>>s=1
             case 3:             //k=3,>>>s=1
             case 4:  break;    //k=4,>>>s=1
             case 0:            //k=0,s+=2>>>s=6
             case 2:  s+=2;break;  //k=2,s+=2>>>s=3
      }  
    }
       printf("s=%d\n",s);

    }

   唯实惟新 至诚致志
2011-01-07 17:04
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
程序代码:
#include "stdio.h"
void  main()
{  int s=0,k;
      for(k=5;k>=0;k--)
      {  switch(k)
      {    case 1://k=1
           case 5:  s++;break;//k=5  //k=1
           case 3://k=3
           case 4:  break;//k=4  k=3
           case 0://k=0
           case 2:  s+=2;break;//k=2  k=0 
      } 
      }
  printf("s=%d\n",s);
}//以上是k为每个值是所执行的语句  楼主仔细分析一下就知道  很容易的

                                         
===========深入<----------------->浅出============
2011-01-07 18:12
xueshukai
Rank: 1
等 级:新手上路
帖 子:11
专家分:3
注 册:2011-1-7
收藏
得分:0 
长知识了
2011-01-07 19:26
a343637412
Rank: 7Rank: 7Rank: 7
来 自:そ ら
等 级:黑侠
帖 子:357
专家分:620
注 册:2010-9-26
收藏
得分:0 









                                        建议学会用F10调试
2011-01-07 20:11
快速回复:帮忙分析一下,谢谢
数据加载中...
 
   



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

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