求高手解答C语言的一个试题,,最好带上解释,,谢谢~~~~~

下列程序的输出结果是_______ 。 #include "stdio.h" main() { int a=45,b=40,c=50,d; d=a>30?b:c; switch(d) { case 30 : printf("%d,",a); case 40 : printf("%d,",b); case 50 : printf("%d,",c); default : printf("#");} }

第1个回答  2020-08-03
#include
"stdio.h"
main()
{
int
a=45,b=40,c=50,d;
d=a>30?b:c;
/*如果a>30,则d=b,否则d=c.因为a=45>30,所以d=b=40*/
switch(d)
/*d=40,直接跳到case
40*/
{
case
30
:
printf("%d,",a);
case
40
:
printf("%d,",b);
/*输出"b,",即"40,".由于没有break语句,所以继续往下执行*/
case
50
:
printf("%d,",c);
/*输出"c,",即"50,"*/
default
:
printf("#");
/*输出#*/
}
}
所以结果是:40,50,#
lz要注意在case
40和case
50的输出语句中有一个逗号
相似回答
大家正在搜