作者hylkevin (Kevin)
看板C_and_CPP
标题Re: [问题] case後面接括弧?
时间Fri Mar 20 18:50:57 2009
※ 引述《micklin (离乡背井的米克)》之铭言:
: 在某本书上看到这样的例子
: switch(Number){
: case(1,3,5):{
: OddNumber=OddNumber+1;
: OddSum=OddSum+Number;
: }
: break;
: case(2,4,6):{
: EvenNumber=EvenNumber+1;
: EvenSum=EvenSum+Number;
: }
: break;
: default:printf("Error Input");
: }
: 我的问题是, case後面可以利用括弧的方法把相关的值放在一起吗?
: 这个程式码我用gcc跑, compile会过, 但是不管Number的值为何,
: 结果都是印出Error Input, 也就是default的部份.
: 谢谢!
compiler 会逐一评估逗号运算子所隔开的运算元
并且传回最後一个运算元的值
你可以试着int a=(1,2,3);
把a印出来会发现是3
也就是说case(1,3,5) 其实是case 5
case(2,4,6)其实是6
关於逗号运算子是凭印象写 有错请指正
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.136.185.122
1F:→ micklin:感谢回答!! 03/22 21:58