单选题
有以下程序:
#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<回车>,则输出结果是( )。
【正确答案】
B
【答案解析】解析:循环体中的break语句将立即退出循环,而continue将直接执行下一次循环。当输入一2和一3时,执行b*=x语句,且不会打印,结果是b=1*一2*-3=6,当输入0时,前两个if语句并未执行,直接打印出a,b的值,此时a=1,b=6,当输入4时执行break语句,直接退出循环。