问题
单项选择题
有以下程序main(){int i,j,x=0;for(i=0;i<2;i++){ x++;for(j=0;j<=3;j++){ if(j%2) continue;x++;}x++;}printf("x=%d \n",x);} x=12程序执行后的输出结果是______。
A.x=4
B.x=8
C.x=6
D.x=12
答案
参考答案:B
解析:此题考核的是循环嵌套和 continue 语句的应用。continue 语句的作用是用于结束本次循环,即跳过 循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。当外层循环 for(i=0;i<2;i++)满足条 件的情况下执行循环体,循环体中包含了嵌套的内层循环 for(j=0;j<=3,j++){……},在内层循环中,当 if 条 件语句不成立时执行 continue 语句,其作用是跳过“x++;”,继续执行内层循环的 for 语句,直到内层循环 条件不满足,则执行跳出内层循环,执行外层循环的“x++;”语句,然后再对 i 进行判断,直到外层循环 条件不满足,跳出外层循环,执行输出语句,结果为 8。