以下程序输出结果是 #include <stdio.h> main ( ) { int i=0,a=0; while ( i<2 0 ) { for(;;) { if ((i%10)

admin2009-01-15  37

问题 以下程序输出结果是   #include <stdio.h>   main ( )    {  int   i=0,a=0;       while ( i<2 0 )        {  for(;;)            {  if ((i%10) ==0) break;                else           i--;            }            i+=11; a+=i;        }        print f ( "%d\n" , a);    }

选项 A、21
B、32
C、33
D、11

答案2

解析 break语句只能在循环体和switch语句体内使用。本题程序为在while循环中嵌套for循环。先看内层for循环,该循环的 3个表达式全部省略,循环条件始终为真,但循环体内的break语句为终止循环的条件。首先,由初始条件判断外层循坏while括号内表达式的值,该值为真,执行本次while循环,即执行循环体内的订语句,判断该表达式后面括号里表达式的值为真,执行 break语句,跳出内层循环,执行下面的语句,此时 i和a的值均变为11;回到外层循环,判断表达式“i<20”仍为真,执行内层循环语句,此时if条件不满足,执行else语句,i的值为10,继续内层循环, if语句条件满足,执行break语句,跳出内层循环,执行下面的语句后,i和a的值分别是21和32。再判断外层循环的条件为假,结束循环.所以,4个选项中B为所选。
转载请注明原文地址:https://kaotiyun.com/show/ZKHp777K
0

最新回复(0)