C语言if语句题目求解
发布网友
发布时间:2023-06-25 01:01
我来回答
共2个回答
热心网友
时间:2024-12-01 17:26
答案是2
3
3,因为i++==1是对的,所以接着判断后面的,假如i++==1是错的,因为是与运算,所以后面的就可以不用去判断了。++j==3和k++==3进行或运算,++j==3是对的,不管后面的是错还是对,所以命题都是对的,,所以
编译器
是不运算++j==3。
热心网友
时间:2024-12-01 17:26
答案为:b
原因如下:
a>0,b<0,c==5都为逻辑表达式,表达式的返回值只有1(真)和0(假)
switch(a>0)//a=2,a>0为真,即返回值为1,进入case
1
{
case
1:switch(b<0)//b=7,b<0为假,返回值为0,没有对于的case值
{case
1:printf("@");break;
case
2:printf("!");break;
}
//由于第一层的case
1没有break语句,进入case
2
case
0:switch(c==5)//c==5意思是c等于5吗?等于为真,返回1,进入case
1
{case
0:printf("*");break;
case
1:printf("#");break;//输出'#'
default:printf("$");break;
}
//由于第一层的case
0没有break语句,进入default
default:printf("&");//输出'&'
}
故答案为#&