如何在开关情况下使用多个值
how to use multiple values in switch case
我的程序是
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;
}
并且我得到输出CCD_ 1。我需要知道它是如何工作的,你能解释一下吗。谢谢
此处使用的是逗号运算符。在C和C++编程语言中,逗号运算符(由标记,
表示)是一种二进制运算符,它计算第一个操作数并丢弃结果,然后计算第二个操作数,并返回此值(和类型)。
因此
switch (i++, j--) {...}
相当于
i++;
switch (j--) {...}
我认为您使用开关的情况不正确。您接受两个变量作为自变量,
switch(a++ , b--)
{
case(a>b):
case(b<a):
case(a==b):
}
如果只给出一个数字和两个参数,编译器不知道该如何处理它们。
如果您使用的是基于c的语言,这是我的经验。
相关文章:
- 在 c++ 中在开关情况下使用和不使用"break"时的不同输出
- 如何在开关的情况下使用右值引用
- 在这种情况下,如何在基类中设计开关大小写函数
- 如果在开关情况下不匹配,为什么此函数返回 ASCII 值?
- 在开关情况下返回布尔值
- 默认情况下,C++ 开关运行时循环
- 如何在开关情况下消除对goto的使用
- 在开关情况下可以默认返回 cin
- 在不包括C++的开关情况下使用范围
- C :在开关情况下进行循环
- 在允许的情况下更改开关语句键
- 在情况下,如何循环回到开关语句的开头
- 为什么编译器不允许我在开关情况下使用变量?
- 在这种情况下我该如何使用开关
- 如果我们在需要整数的开关情况下输入字符会发生什么
- 如何在不使用开关大小写的情况下用C++编写菜单驱动的程序
- 开关情况下的字符和 int 有什么区别?
- 在开关状态情况下,模板功能内部的不同类型的分配
- 初始化各种开关情况下的变量
- 如何在开关情况下使用多个值