全部问题 > 当前问题

二维数组相关问题

blob.png



这道题目中,为什么要i等于j呢? blob.png  怎么回事啊?

做我_女朋友 2016-3-3 18:57:35

共 2 个回答

没有人 2016-3-3 19:07:24

i=0时,j取值0,1,2,i=1的时候j取值1,2

嘿嘿大人 2016-3-3 19:10:20

这个就是取j的初值为外循环的i而已,纠结这个没用,这个是选择题,不需要你知道为什么,你要做的是按照它说的执行下去,如果是编程题才会要求你理解为什么这么写

问题来自: 二维数组
有以下程序
#include <stdio.h>
#define N 3
void fun(int a[][N],int b[])
{ int i,j;
  for(i=0;i<N;i++)
  { b[i]=a[i][0];
    for(j=i;j<N;j++)
    if(b[i]<a[i][j]) b[i]=a[i][j];
  }
}
main()
{ int x[N][N]={1,2,3,4,5,6,7,8,9}, y[N],i;
  fun(x,y);
  for(i=0;i<N;i++) printf("%d,",y[i]);
  printf("\n");
}
程序运行后的输出结果是 ______ 。
A. 2,4,8,
B. 3,6,9,
C. 3,5,7,
D. 1,3,5,
答案:B
解析:不难分析出,fun函数的功能是把数组a中每一行的最大值存储到数组b中。即把x分为每3个一行,每行的最大值存储到数组y中。所以最后输出结果时3,6,9,。因此选B。