switch语句可以接多个变量吗???

switch()括号中可以接多个变量吗?如我的键盘长时间按键或短时间按键程序执行不同内容:
switch(key&&num)
{
case 0,20:c=c+1,num++;
break;
case 0,60:c=c+3,num++;
break;
case 0,80:c=c+5,num++;
break;
case 0,100:c=c+7,num++;
break;
default:n4=0;
break;
}num连接的是定时的语句,自己感觉就不对,应该不能有一个零吧,但是用if() else if()自己试过,不能完成任务,C语言库有没有好的函数来解决这个问题呢???请各位帮忙!!!

第1个回答  2013-06-04
亲,首先 switch 后面跟的是表达式,即最后判断的是表达式的值,
而(key&&num)最后的结果只能是0或者1,
再次 case 后面的判断不可以用 case 0,60,但可以写出case 0:case 60:
而且相同的case 表达式或报错,一下是本人简单修改后的程序,不知道能不能满足你的需要:
#include<iostream>
using std ::cout;
using std ::endl;
using std::cin;
int main()
{
int num = 0;
int c = 0;
char key[100];
cin >> key;
// switch(key&&num) 逻辑表达式 结果只能是 0或1
// 相同的case 常量表达式将无法识别入口
num = strlen(key);
cout << "num = " << strlen(key) << endl;
switch(num) //表达式
{
case 1 :case 2 :case 3 :case 4 :case 5 : //case 常量表达式
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 :
c=c+1,num++;
cout << "num1 = " << num << endl;
break;
case 21 :case 60:c=c+3,num++;
cout << "num2 = " << num << endl;
break;
case 61: case 80:c=c+5,num++;
cout << "num3 = " << num << endl;
break;
case 81: case 100:c=c+7,num++;
cout << "num4 = " << num << endl;
break;
default:num=0;
cout << "num = " << num << endl;
break;
}
return 0;
}
第2个回答  2013-06-03
首先,使用语言需要遵循其语法规则,否则在编译的过程中就会报错,key&&num是不能作为左值的,即它是逻辑表达式,是不可赋值的,它是一个整体,不要想当然的认为是key和num两个变量。
第二,学习过程中类似“可以。。。。。。。吗?”的问题不是问题,与其问别人,还不如自己亲自试试,这是一个学习所必要经历的过程。
第3个回答  推荐于2017-06-12
不可以,必须用表达式计算的结果来执行不同的代码
第4个回答  2013-06-02
不行。switch(变量);括号里面的是变量并不是表达式;
第5个回答  2013-06-04
打个电饭锅电饭锅电饭锅

switch语句可以接多个变量吗???
亲,首先 switch 后面跟的是表达式,即最后判断的是表达式的值,而(key&&num)最后的结果只能是0或者1,再次 case 后面的判断不可以用 case 0,60,但可以写出case 0:case 60:而且相同的case 表达式或报错,一下是本人简单修改后的程序,不知道能不能满足你的需要:include<iostream> using std :...

SWITCH可以判断多个变量吗?
不能。只能是一个。switch (a,b) \/\/ 逗号表达式的作用 相当于 switch (b)

switch语句里的表达式里为什么不能是字符串
switch表达式()里面只能是变量,下面case 后面要跟变量的值。因为这是一个选择判断语句,需要根据不同情况选择不同语句来执行。所以表达式里面必须是可以有多个值的变量。

C语言switch能否判断多个变量,比如下面这样可以吗
不行。switch(表达式),switch括号中只能有1个返回值。 后面的case就是对这个返回值做判断。另外你的case要写break;否则,找到满足的case,之后的case还会执行,你的判断就没有意义了。

例举switch语句的优缺点
switch语句的优点:1. 简化代码:switch语句允许在一个语句中比较多个变量或表达式的值,并选择相应的代码块执行,从而简化了代码结构。2. 灵活性强:switch语句允许根据不同的条件选择不同的代码块执行,这在某些情况下可以提高程序的灵活性和可读性。switch语句的缺点:1. 可读性差:由于switch语句的结构...

switch语句格式
switch的一般形式如下:switch (表达式){case 常量表达式1: 语句1case 常量表达式2: 语句2┇case 常量表达式n: 语句ndefault: 语句n+1} 说明:1) switch 后面括号内的“表达式”必须是整数类型。也就是说可以是 int 型变量、char 型变量,也可以直接是整数或字符常量,哪怕是负数都...

C++中的switch语句只能使用数字做分支变量吗?
在C++中,switch语句不能直接使用多个数字。每个case分支只能处理一个数字。如果你需要处理多个数字,你可以使用case分支的连续范围,或者使用if语句。使用case分支的连续范围:cpp复制代码 switch (variable) { case 1:case 2:case 3:\/\/ 代码 break;case 4:case 5:case 6:\/\/ 代码 break;default:\/\/...

switch用法
Switch语句的核心是根据一个表达式的值,选择执行多个代码块中的一个。这个表达式通常是一个变量或者一个返回值,其数据类型需要与case语句中的值相匹配。二、结构特点 Switch语句的结构包括一个switch表达式和一个或多个case语句。switch表达式后面跟着一个或多个case标签,每个case标签后面跟着要执行的代码...

c语言里switch后面要是讨论3个变量的关系,如何把这三个变量写到括号里...
一般switch里的语句都必须化成两两相比再用&&连接。如:要表达判断a>b>c,则需改为switch((a>b)&&(b>c))

C++的switch()语句能判断多个变量吗?
不可以判断多个变量除非ab是1,2,4,8,16等等,那样可以用a|b来计算(因为这样的话无论哪两个数在一起进行|计算结果都不同)

相似回答