SWITCH语句中的case后可以是字符串吗?

void check(char req)
{
int num;
if(req=='end')
cout<<"dsf"<<endl;
else
switch(req){
case 'AddLeft':
cin>>num;
AddLeft(num);
case 'AddRight':
cin>>num;
AddRight(num);
case 'IsEmpty':
IsEmpty();
case 'IsFull':
IsFull();
case 'DeleteLeft':
DeleteLeft(num);
case 'DeleteRight':
DeleteRight(num);
default:
cout<<"You input wrong request!"<<endl;
}
}

第1个回答  2008-05-20
不可以的!!

switch语句中case后面可以是字符吗
选B,case后面只能是整型或字符型的常量或常量表达式。一、switch是另外一种选择结构的语句,用来代替简单的、拥有多个分支的if else 语句,基本格式如下:switch(表达式){case 整型数值1: 语句 1;case 整型数值2: 语句 2;...case 整型数值n: 语句 n;default: 语句 n+1;} 二、它的执行过程是:...

switch语句中case后面可不可以加字符串?
\\x0d\\x0a字符串常量,例如:双引号括起的 "Z", 虽然是常量, 但它们不是 整型,所以不允许。\\x0d\\x0a其它语言,要看它们自己的规定。

SWITCH语句中的case后可以是字符串吗?
不可以的,比如下面的程序:include<stdio.h> void main(){ char *p="abc";switch(p){ case "abc":break;} } 编译都通不过:error C2450: switch expression of type 'char *' is illegal error C2051: case expression not constant ...

switch语句中case后面的表达式可以是什么?
switch语句中case后面的表达式可以是常量表达式。C语言中switch语句的case后面不能是一个关系表达式,case后面跟的是一个常量表达式,CASE表达式的真假值判断就会中止,而剩余的 WHEN子句会被忽略。使用注意事项:要注意CASE表达式里各个分支返回的数据类型是否一致。某个分支返回字符型,而其他分支返回数值型的...

C++中switch语句中case分句后面只能跟字符量吗?
case后面 只要是能表示成 整数结果的表达式 全都可以 。单引号括起的 字符常量,例如: case 'a': case 'S': case '5': case '6': 都可以。因为字符常量 是整型,数值等于它们的 ASCII 值。其他, case 3: case 4:case TRUE:只要是能表示成 整数结果的表达式 全都可以 ...

c语言switch语句中case后面必须要接整型常量和字符型常量吗
switch是一个整型表达式。case是一个整数常量表达式。只所以不能使用浮点数,个人理解应该是浮点数的精度问题不容易把握,在一定误差内可能出现多个匹配,而且浮点数对硬件依赖要求比较高,代码可移植性可能会更低。整型常量中不能存放字符型变量c语言 是的,不能存放。因为整型常量,关键在于常量,即在定义...

case后来可以直接接字符串吗
不允许字符串的 只允许有序类型,比如说char,int等

(C++)switch的case是只能基于char的?不可以基于string的?
尽管"q"是个常字符串。switch case这种语句又要求必须在case后面做常数比较,所以就会报错了。是的,switch和case的配合只能应用于内置类型。string类型不可以用switch 补充:按键是用这个switch的,但是按键回馈到windows消息的时候已经转成整数了,所以可以用switch的。

C语言编程switch语句中case后面如果是数字
swithc(k){ case 1: \/\/k的值为1跳到此行 case 'A': \/\/k的值为'A'跳到此行,'A'代表字母A的ASCII码,即0x41 或65 case '5': \/\/k的值为'5'跳到此行,'5'代表数字5的ASCII码,即0x35 或53 }

C# switch case语句
在switch语句中,case后面的字符串"如'A'"或"B'",是与变量(如strA)可能取的值相对应的,确保了switch结构的有效性。理解状态和事件的区别至关重要,例如,不能直接写成case checkBox1.CheckedChanged,因为这涉及事件,而非状态。正确的用法可能是检查checkBox1.Checked状态,如if(checkBox1.Checked) ...

相似回答