1 个回答
MSY
回答于 2024-07-20
已采纳
提问:下列程序运行后的输出结果第一行是——,第二行是——
#include<stdio.h>int main (){int i,a=0,b=2;switch (++a,a*b){case 1:printf("1");case 2:printf("2");case 3:printf("3\n");break;default: printf ("other\n");}
网友回答:
程序只可能输出一行,解析:
switch (++a,a*b)
因为a是先++,所以a=a+1=1,而a*b=1*2=2
表达式的值为2
case 1不执行。
执行case 2输出一个
2(没有换行)
因为没有break;
所以会继续执行case 3:输出
3 并换行,因为有break;swicth结束,所以结果就是一行
23
以下是实际的测试结果

我来回答
相关问题
1
回答
游戏王卡组推荐
单机游戏
567 浏览