有以下程序 #include<stdio.h> main( ) {inti,j,m=1; for(i=1;i<3;i++) {for(j:3;j>0;j-) {if(i*j>3)break; m*=j*j; } } printf(’’m=%d\n’’

admin2014-06-17  23

问题 有以下程序
#include<stdio.h>
main(    )
{inti,j,m=1;
for(i=1;i<3;i++)
{for(j:3;j>0;j-)
{if(i*j>3)break;
m*=j*j;
}
}
printf(’’m=%d\n’’,m);
}
程序运行后的输出结果是

选项 A、m=2
B、m=4
C、m=5
D、m=6

答案D

解析 这道题考查了for循环的嵌套应用。对于外层for循环来说,变量i从l增到2,循环执行2次。当变量i的值等于1时,对于内层for循环来说,变量i从3减到1,求得变量m的值等于6。当变量i的值等于2时,第一遍执行内层for循环,变量j的值等于3,那么州的值等于6,其值大于3,这时执行break语句,退出内层for循环的执行。所以程序输出变量m的值为6。
转载请注明原文地址:https://kaotiyun.com/show/veJp777K
0

最新回复(0)