有以下程序: main() { int i=0,s=0; for(;;) { if(i==3||i==5) continue; if(i==6) break; i++; s+=i; } p

admin2010-01-10  12

问题 有以下程序:    main()    {  int  i=0,s=0;    for(;;)    {    if(i==3||i==5)  continue;    if(i==6)  break;    i++;    s+=i;    }    printf ("%d\n"’s);    }    程序运行后的输出结果是(  )。

选项 A、10
B、13
C、21
D、程序进入死循环

答案8

解析 本题程序中的for循环省略了for语句的3个表达式,如果循环体中没有break语句的话则为死循环。循环中每次i被增1,当i到6时才能执行到break语句跳出循环,但是当i自增到3的时候会执行continue语句重新循环,此时后面的“i++;”语句执行不到,i的值为3一直没有改变,所以continue语句始终要执行,因此for循环将一直循环下去,所以,4个选项中选项D符合题意。
转载请注明原文地址:https://kaotiyun.com/show/j1Wp777K
0

最新回复(0)