我的节目是
int main() {
int i = 10;
int j = 20;
switch (i++, j--) {
case 10:
printf("The number is 10");
break;
case 20:
printf("The number is 20");
break;
default:
printf("Input Invalid");
}
return 0;
}
我正在获得输出The number is 20
。我需要知道它是如何工作的,你可以解释一下。感谢。
答案 0 :(得分:3)
您在这里使用comma operator。在C和C ++编程语言中,逗号运算符(由标记,
表示)是一个二元运算符,它计算第一个操作数并丢弃结果,然后计算第二个操作数并返回该值(和类型)
因此
switch (i++, j--) {...}
相当于
i++;
switch (j--) {...}
答案 1 :(得分:0)
我相信您使用的开关盒不正确。您接受两个变量作为参数,
switch(a++ , b--)
{
case(a>b):
case(b<a):
case(a==b):
}
如果您只提供一个数字和两个参数,编译器就不知道如何处理它们。
如果您使用的是基于c的语言,这是我的经验。