以下程序运行后的输出结果是【 】。 main() {int a[4][4]={{1,2,3,4},{5,6,7,8},{11,12,13,14},{15,16,17,18}}; int i=0,j=0,s=0; while(i

admin2010-05-22  22

问题 以下程序运行后的输出结果是【  】。
   main()
   {int  a[4][4]={{1,2,3,4},{5,6,7,8},{11,12,13,14},{15,16,17,18}};
   int  i=0,j=0,s=0;
   while(i++<4)
   {
     if(i==2||i==4)continue;
     j=0;
   do{  s+=a[j];  j++;}while(j<4);
    }
   Printf("%d\n",s);
   }

选项

答案92

解析 while循环的和do-while循环的程序分析。主函数中首先定义了一个4行4列的二维数组,然后执行一个while循环,该循环中又嵌套了一个do-while循环。现看 while循环,该循环通过i++的值来判断是否结束循环当i++的值为4的时候结束循环,当i=0时,执行while的循环体,显然if语句条件不满足不执行,接着让j=0,然后执行do -while循环体,我们不难看出do-while循环的功能是将第i+1行的所有元素加起来,所以这时s的值为s=a[1][0]+a[1][1]+a[1][2]+a[1][3]=26,当i=1时,i+1=2, if后面括号里的表达式的值为真,执行后面的continue:语句,结束该次循环;当i=2时,i加1变为3,把第3+1行的所有元素的加到s上,此时s=s+a[2][0]+a[2][1]+a[2] [2]+a[2][3]=92,当i=3时,3+1=4,if后面括号里的表达式的值为真,执行后面的 continue语句,结束该次循环,当i=3时,if后面括号里的表达式的值为真执行后面的con- tinue语句,结束该次循环当i=4时while循环结束,所以最后输出的s的值为92。
转载请注明原文地址:https://jikaoti.com/ti/bGI0FFFM
0

最新回复(0)