C语言中二维数组取某一行的值

现在有一个二维数组,我必须知道他某一行的每一个值,然后才能判断这一行是否对我有用,有没有什么好的方法计算。

假设数组变量为a,找到要取的行索引i用一个循环j=[0 to 列数)依次取出a[i][j]


需要注意的前提是得知道该行的列数:

    如果该二维数组是直接定义的,比如a[5][10],那么直接用10做列数就行了。

    如果该二维数组是动态分配(malloc)的,那么需要在分配该数组内存的时候把列数记住。如果每一行的列数都不一样,那么要么记住所有行的列数,要么得有一个统一的策略来供判断是否已经到达列尾(比如所有列尾都用0表示,确保别的数组元素中不会出现0)

温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-11-24
int a[n][m];
//n,m自己输或者采用其他
//输入,数组
//比方说。获取第2行
FOR(n=1,m=0;m<m1;m++)//m1数组列数
A=A[n][m];本回答被网友采纳
第2个回答  2010-11-28
C语言规定的,a[][n]可以 a[n][]不行
类似的,a[][n][m]可以 a[n][m][]不行

最高维的长度必须都确定。这个 是C在数组内存申请上的机制,它得确定高每一维的宽度才好知道地址间隔的宽度,
楼主记着最低位的可以空,高的不能空,就行了。
你的串号我已经记下,采纳后我会帮你制作
第3个回答  2010-11-24
a[m][n]中a[m]是行地址
第4个回答  2010-11-25
for (int i = 0; i < 3; i++)
{
k = 0;
for (int j = 1; j < 4; j++)
if (a[i][k] > a[i][j]) k = j;
printf("%g(%d,%d) ",a[i][k], i, k);
}本回答被提问者采纳
相似回答