一道C语言题,求解答
#include<stdio.h>main(){inta=10,b=11,c=0;switch(a%3){case0:c++;break;case1:c++;case2:...
#include <stdio.h>
main( ){
int a=10,b=11,c=0;
switch(a%3)
{ case 0: c++;break;
case 1: c++;
case 2: switch(b%2)
{case 0: c++;;
default : c++;
}
}
printf("%d\n", c);
}
运行结果为:2 展开
main( ){
int a=10,b=11,c=0;
switch(a%3)
{ case 0: c++;break;
case 1: c++;
case 2: switch(b%2)
{case 0: c++;;
default : c++;
}
}
printf("%d\n", c);
}
运行结果为:2 展开
3个回答
展开全部
题目 考 switch 语句的特性,
switch语句,找到 入口后(就是对应值),跳转到入口处,往下执行。(如遇到break 就结束switch 语句)
题目中,a=10,a%3=1,选择入口case 1:执行 c++,c=1;未遇见break 语句,继续往下执行 case 2:又switch(b%2);
b=11,b%2=1,无case 1入口,选择default 入口:执行c++,c=2;结束2个switch ,打印c<回车>→2<回车>
switch语句,找到 入口后(就是对应值),跳转到入口处,往下执行。(如遇到break 就结束switch 语句)
题目中,a=10,a%3=1,选择入口case 1:执行 c++,c=1;未遇见break 语句,继续往下执行 case 2:又switch(b%2);
b=11,b%2=1,无case 1入口,选择default 入口:执行c++,c=2;结束2个switch ,打印c<回车>→2<回车>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
switch(a%3) { // 第一次a%3=1
case 0: c++;break;
case 1: c++; // 执行这句和下面一句(因为没有break) c=1
case 2: switch(b%2){ // 执行完后c=2
case 0: c++;;
default : c++;
}
}
追问
第四行得到c=2后,那就不执行了是吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询