这个程序哪有些问题了?

[复制链接]
查看11 | 回复1 | 2010-7-7 18:10:54 | 显示全部楼层 |阅读模式
# include
void main()
{int x=1,y=2,a=11,b=6,d=7;
switch (a+b)

{ case0 : x=a+b; break;

case11 : y=a-b; break;
default:printf("e\n");

}
printf("x=%d,y=%d",x,y);
}为什么输出的一直是e?y的值没有变化,swich后的表达式有什么要求,请特别举例说明。比如关系表达式或者其他表达式。
不好意思,我把a的值写错了,a=5。

回复

使用道具 举报

千问 | 2010-7-7 18:10:54 | 显示全部楼层
void main(){int x=1,y=2,a=11,b=6,d=7;switch (a+b) //接受的是 17
{ case0 : x=a+b; break;//这边 a+b == 0 成立执行
case11 : y=a-b; break;//这边 a+b == 11 成立执行default:printf("e\n"); //default 是上面值都找不到 则执行
} = =!!! 郁闷
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行