下面是我的 switch 语句代码:
switch(pin)
{
case 1:
break;
case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: case 10: case 11:
case 12: case 13: case 14: case 15: case 16: case 17: case 18: case 19: case 20:
case 21: case 22: case 23: case 24:case 25:case 26:case 27:case 28:case 29: case 30: case 31:
case 32: case 33: case 34: case 35:
dataOut[pin-2] = 1;
DAQmxWriteDigitalLines(taskHandleOut,1,1,10.0,DAQmx_Val_GroupByChannel,dataOut,NULL,NULL);
break;
default:
break;
上面把case 2-35归为一组,我的意思是,当pin
等于2-35时,要执行特定的任务。
我想知道上面的代码是否有效。我还没有在 switch 语句中看到 case 分组。感谢任何类似多案例分组的网络链接。也许有一些更好的方法可以做到这一点,而不是将多个案例分组。
最佳答案
虽然使用 if-check 可能会更好地处理您的案例 if (pin >= 2 && pin <= 35)
, 像这样对案例标签进行分组是很常见的。
gcc/clang/tinycc 甚至还有语法糖:
switch(pin){
case 2 ... 35: /*nonstandard GNU extension; note well the whitespace*/
};
关于c++ - 在 switch 语句中将多个案例组合在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54654454/