| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4059 人关注过本帖
标题:请问switch括号里是常量表达式的怎么做?
只看楼主 加入收藏
ruanyap
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-5-7
收藏
 问题点数:0 回复次数:5 
请问switch括号里是常量表达式的怎么做?
main()
{
  int  a=0,b=4,c=5;
  switch(a==0)
  {case 1:switch(b<0)
       { case 1:printf("@");break;
     case 0:printf("!");break;
       }
   case 0:switch(c==5)
    { case 0:printf("*");break;
      case 1:printf("#");break;
      defaut:printf("%");
     }break;
  default:printf("&");
  }
}
求程序运行结果

我没遇到过switch括号里是常量表达式的,把switch(a==0)当作int a=0,switch(a)做不对吧?
还是应当作判断真假来处理呢?真的执行,假的还要执行吗?

[[it] 本帖最后由 ruanyap 于 2008-9-15 10:28 编辑 [/it]]
搜索更多相关主题的帖子: switch 常量 括号 表达 
2008-09-15 10:20
yxyhack
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2008-9-15
收藏
得分:0 
{
  int  a=0,b=4,c=5;
  switch(a==0)                //a==0就是1
  {case 1:switch(b<0)
       { case 1:printf("@");break;
     case 0:printf("!");break;               //打印“!”
       }                        //这个地方没有break,所以要走到下面的case 0去
   case 0:switch(c==5)               //c==5 也是1
    { case 0:printf("*");break;
      case 1:printf("#");break;              //打印“#”号
      defaut:printf("%");
     }break;             //有break 所以跳出最上面的switch,程序结束
  default:printf("&");
  }
}

执行结果就是打印 “!#”
2008-09-15 10:33
oldboy22
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2008-5-19
收藏
得分:0 
我也是新手,互相学习。
a==0 的逻辑值为'真',是 1 , 所以switch(a==0) 后 执行 case 1:   ,  下一层的switch(b<0)的逻辑值为'假' 是 0 , 所以执行 CASE 0: 。  类推。。。

让魔鬼来得更猛烈些吧。。。
2008-09-15 10:35
oldboy22
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2008-5-19
收藏
得分:0 
旁边不是都有注解么? 不是你写的??

让魔鬼来得更猛烈些吧。。。
2008-09-15 10:38
p1s
Rank: 4
等 级:贵宾
威 望:10
帖 子:454
专家分:3
注 册:2005-11-4
收藏
得分:0 
如果是一道题目,出题目的人也真是吃饱了撑着。哪有这样用switch的?用if不是挺好的么?
2008-09-15 10:44
ruanyap
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-5-7
收藏
得分:0 
谢谢了我明白了 原来是break捣的鬼
2008-09-15 10:45
快速回复:请问switch括号里是常量表达式的怎么做?
数据加载中...
 
   



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

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