以下程序的输出结果是
#include<stdi0.h>
main()
int i=0,a=0;
while(i<20)
for(;;)
if((i%10)==0)break;
elsei--;
i+=11;a+=i;
printf(“%d\n”,
A.;
A) 21
B.32
C.33
D.11
参考答案:B
解析:break语句只能在循环体和switch语句体内使用。本题程序为在 while循环中嵌套for循环。先看内层for循环,该循环的3个表达式全部省略,循环条件始终为真,但循环体内的break语句为终止循环的条件。首先,由初始条件判断外层循环 while括号内表达式的值,该值为真,执行本次while循环,即执行循环体内的if语句,判断该表达式后面括号里表达式的值为真,执行break语句,跣出内层循环,执行下面的语句,此时i和a的值均变为11;回到外层循环,判断表达式“i<20”仍为真,执行内层循环语句,此时if条件不满足,执行else语句,i的值为10,继续内层循环,if语句条件满足,执行 break语句,跳出内层循环,执行下面的语句后,i和a的值分别是21和32。再判断外层循环的条件为假,结束循环。