单选题 有以下程序: #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语句,直接退出循环。