想问个与这题答案无关的问题,这个程序在运行到x[]i[j]时,
六文灯笼 资深会员 2019-03-26 22:29:26
43 1 0

 给它赋值是n,这个n是增值后的值还是自增前的值;还有另个疑问,n++是不是再有其他运算的时候先运算在自增,但在这道题的情况下,n++;x[i][j]=; 运行顺序是怎么操作的,这点有点懵,请大神慷慨解囊!

问题来自: 二维数组
以下程序按下面指定的数据给x 数组的下三角置数,并按如下形式输出,请填空。
4
3  7
2  6  9
1  5  8 10
#include <stdio.h>
main()
{ int x[4][4],n=0,i,j;
  for(j=0;j<4;j++)
  for(i=3;i>=j; __【12】__ ) {n++;x[i][j]= __【13】__ ;}
  for(i=0;i<4;i++)
  { for(j=0;j<=i;j++) printf("%3d",x[i][j]);
    printf("\n");
  }
}
A. 【12】i++【13】n
B. 【12】i++【13】n-1
C. 【12】i--【13】n
D. 【12】i--【13】n-1
答案:C
解析:观察题中的三角形,可以分析出,三角形的赋值规则是从左边开始,将每一列从下到上自增赋值。然后往右一列,再继续从下往上自增赋值。每往右一列,上面的行数就少1。根据这个特点,我们来阅读程序。不难看出,j循环从0到3,便是从左到右,表示列数。i循环从3到j,是从下到上,表示行数。由于是i是从大到小进行循环,所以自增表达式【12】应为i--。在循环体中,我们看到每次循环都会执行n++,所以x[i][j]中存储的就应该是n的值,因此【13】应为n。

共 1 个回答

您还没有登录,所以不能回复该问题
我要回复

  • 0

    点赞

  • 扫一扫分享朋友圈

    二维码

  • 分享

相关问题