我怀疑在switch case中使用逻辑运算符。我试过这个代码在线c编译器(www.onlinegdb.com)..我的想法是使用||在下面的情况下,运算符评估是否有任何一个条件为真,以便显示“Karaikkal”。但编译器显示:'程序已完成退出代码0'。
#include <stdio.h>
int main()
{
char code;
code = getc(stdin);
fflush(stdin);
switch(code){
case ('K' || 'k'):
puts("Karaikkal");
}
return 0;
}
switch(code)
{//this code works, but I want to know how to use logical operator in switch.
case 'K':
case 'k':
puts("Karaikkal");
break;
}
提前致谢。
答案 0 :(得分:1)
这是一个预期的常量表达式 - 当你把它放在那里时它被评估,并且k
的ascii代码非零,结果变成1
所以你基本上写了case 1:
这不是你想要的。
您不能使用这样的表达式来确定它是k
还是K
。
答案 1 :(得分:1)
'K' || 'k'
的值为1;它是一个常量表达式。它不是&#34; case&#34;的延伸。比如说,SQL。