有以下程序: #include main() {int x,a=1,b=1; while(1) {scanf(’’%d’’,&x); if(x>0){a*=x;break;} if(x<0){b*=x;continue;} printf(’’%d,%d\n

admin2021-02-25  25

问题 有以下程序:
#include
main()
{int x,a=1,b=1;
while(1)
{scanf(’’%d’’,&x);
if(x>0){a*=x;break;}
if(x<0){b*=x;continue;}
printf(’’%d,%d\n’’,a,b);
}
}
程序运行时输入:一2—3 045<回车>,则输出结果是(  )。

选项 A、1,6
B、1,6 1,6
C、一1,一6
D、一2,6

答案B

解析 循环体中的break语句将立即退出循环,而continue将直接执行下一次循环。当输入一2和一3时,执行b*=x语句,且不会打印,结果是b=1*一2*-3=6,当输入0时,前两个if语句并未执行,直接打印出a,b的值,此时a=1,b=6,当输入4时执行break语句,直接退出循环。
转载请注明原文地址:https://kaotiyun.com/show/hhtp777K
0

最新回复(0)