我有一个开关,如果在Javascript中有问题,代码如下。
var a=0;
if(a){
console.log("a is true");
} else if(!a) {
console.log("a is false");
} else {
console.log("a is not true or false");
}
switch(a){
case true:
console.log("switch... a is true");
break;
您好,我已经在这里坐了很长一段时间,试图弄清楚为什么这不工作,但我没有成功的运气!
#include <stdio.h>
main(void)
{
int mark;
printf("Please enter the mark\n");
scanf("%d", &mark);
switch(mark){
case (mark <40):
printf("That's a fail");
break;
我刚刚在别人的JavaScript代码中遇到了一个布尔switch语句。它看起来有点像这样:
switch (a || b) {
case true:
// do some stuff
break;
default:
// do other stuff
break;
}
我从事编程的时间并不长,但我肯定从来没有见过这样的事情。这看起来有点愚蠢,但我想让程序员相信这一点。上面的代码和下面的代码在功能上有什么不同:
if (a || b) {
// do some stuff
}
else {
// do other stuff
}
如果有,那是什么呢?
我可以在"switch“语句中添加集合而不是数字吗?像这样:
switch(number)
{
case 1<50: //if number is between 1 and 50
{
blah;
break;
}
case 50<100: //if number is between 50 and 100
{
blah;
break;
}
诸若此类。
在JavaScript中,以下语句是有效的。
switch(true) {
case a > b:
max = a;
break;
case a < b:
max = b;
break;
default:
max = a;
}
但是在C/C++编程语言中,当我编写这个语句时,编译器给出了一个错误,显示case语句必须由常量值组成。有时,在特殊情况下,编写这样的换用例语句将非常有用,但是C/C++将不允许我这样做。
现在,我很想知道不允许在case语句中使用变量值的原因是什么。
我注意到当使用具有错误值的变量时,switch语句会产生错误的结果。
例如:
$total = 0; // Same results with '' as a value
switch ($total) {
case 5:
echo "Five";
break;
case 10:
echo "Ten";
break;
case $total >= 10:
echo "More than or equal to one";
break;
default :
echo "Anything"