据我所知,到目前为止,我能够使用switch
语句并将其用作“或”运算符。例如:
switch(num)
case 1:
case 2:
printf("One or Two");
它像
if(num==1 || num==2)
printf(""One or two);
是否可以修改 switch 语句并将其用作 AND 而不是 OR?
据我所知,到目前为止,我能够使用switch
语句并将其用作“或”运算符。例如:
switch(num)
case 1:
case 2:
printf("One or Two");
它像
if(num==1 || num==2)
printf(""One or two);
是否可以修改 switch 语句并将其用作 AND 而不是 OR?
一个变量不能同时保存两个值。
num == 1 && num == 2 总是错误的。
这个问题有意义还是我错过了重点?
德摩根定律通常是在 OR 和 AND 之间转换的关键。作为一个 C 表达式,它是
!( A || B ) == ( !A && !B )
一个switch
陈述可能有一个default
案例,当其他条件都不满足时采取。如果它是您已经给出的 OR 案例的唯一替代方案,那么由于它是 OR 的对立面,它自动成为 De Morgan 的 AND 案例。
switch(num) {
case 1:
case 2:
printf("One or Two\n");
break;
default:
printf("Not one AND not two\n");
break;
}
如前所述,这是使 AND 有意义的唯一方法,因为变量不能同时是两个数字。