C语言switch语句中的default、 50
当default放在中间,程序程序执行的时候,是不是依次从上到下执行,第一次不执行default,如果没有合适的case,程序再重新从上到下遇到default执行,还是直...
当default放在中间,程序程序执行的时候,是不是依次从上到下执行,第一次不执行default,如果没有合适的case,程序再重新从上到下遇到default执行,还是直接翻到上边执行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语句的位置对输出结果没有影响,始终是最后运行。
测试程序如下:
#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语句的位置对输出结果没有影响,始终是最后运行。
展开全部
这样理解就容易了
default语句
相当于
case other
从而当成case语句理解即可.
不同之处在于:
default语句总是最后判断!
执行顺序是在判断完之后的事情,
判断完之后,顺序执行,遇到结尾或break跳出.
default语句
相当于
case other
从而当成case语句理解即可.
不同之处在于:
default语句总是最后判断!
执行顺序是在判断完之后的事情,
判断完之后,顺序执行,遇到结尾或break跳出.
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
若表达式的值和和所有常量表达式的值都不相等时,则执行default后面的语句;default语句一般放在后面;否则会出现逻辑错误!!
不过也是可以放在中间的;如果所有的语句都比较简单的话!
不过也是可以放在中间的;如果所有的语句都比较简单的话!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
若表达式的值和和所有常量表达式的值都不相等时,则执行default后面的语句;default语句一般放在后面;否则会出现逻辑错误!!
不过也是可以放在中间的;如果所有的语句都比较简单的话!
我可以帮助你,你先设置我最佳答案后,我百度Hii教你。
不过也是可以放在中间的;如果所有的语句都比较简单的话!
我可以帮助你,你先设置我最佳答案后,我百度Hii教你。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
defaule放在上面的话 就直接执行defaule了 为什么呢? 因为程序是从上到下一行一行执行的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询