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

admin2016-12-18  25

问题 有以下程序
#include<stdio.h>
main()
{int i,j,m=1;
for(i=1;i<3;i++)
{for(j=3j>0;j--)
{if(i*j>3)break;
m*=i*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循环来说,变量j从3减到1,求得变量m的值等于6。当变量i的值等于2时,第一遍执行内层for循环,变量j的值等于3,那么i*j的值等于6,其值大于3.这时执行break语句,退出内层for循环的执行。所以程序输出变量m的值为6。
转载请注明原文地址:https://jikaoti.com/ti/2ti0FFFM
0

最新回复(0)