C语言switch语句中的default、

当default放在中间,程序程序执行的时候,是不是依次从上到下执行,第一次不执行default,如果没有合适的case,程序再重新从上到下遇到default执行,还是直接翻到上边执行default?想知道电脑执行程序的逻辑顺序是什么?、
我知道default什么意思- -!、

default语句始终是最后执行。
测试程序如下:

#include <stdio.h>

int main(void)
{
int num;
while (1)
{
printf("please input :\n");
scanf("%d",&num);
switch(num)
{
case -1:
printf("the value is -1\n ");
break;
case 1:
printf("the value is 1 \n");
break;
case 0:
printf("the value is 0 \n");
break;
default:
printf("the value is others\n");
break;
}
printf("please input :\n");
scanf("%d",&num);
switch(num)
{
default:
printf("the value is others \n");
break;
case -1:
printf("the value is -1\n ");
break;
case 1:
printf("the value is 1 \n");
break;
case 0:
printf("the value is 0 \n");
break;
}
}
}
运行结果:
please input :
1
the value is 1
please input :
1
the value is 1

结果分析:第一个swith语句的default语句在最后,第二个swith语句的default语句在最前面。输入的值都为1,输出结果是相同的。说明default语句的位置对输出结果没有影响,始终是最后运行。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-11-21
这样理解就容易了
default语句
相当于
case other
从而当成case语句理解即可.
不同之处在于:
default语句总是最后判断!
执行顺序是在判断完之后的事情,
判断完之后,顺序执行,遇到结尾或break跳出.本回答被网友采纳
第2个回答  2010-11-28
若表达式的值和和所有常量表达式的值都不相等时,则执行default后面的语句;default语句一般放在后面;否则会出现逻辑错误!!
不过也是可以放在中间的;如果所有的语句都比较简单的话!
第3个回答  2010-11-25
若表达式的值和和所有常量表达式的值都不相等时,则执行default后面的语句;default语句一般放在后面;否则会出现逻辑错误!!
不过也是可以放在中间的;如果所有的语句都比较简单的话!
我可以帮助你,你先设置我最佳答案后,我百度Hii教你。
第4个回答  2010-11-21
defaule放在上面的话 就直接执行defaule了 为什么呢? 因为程序是从上到下一行一行执行的
相似回答