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

2024-12-19 01:25:58
推荐回答(5个)
回答1:

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


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

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

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

回答2:

int a[n][m];
//n,m自己输或者采用其他
//输入,数组
//比方说。获取第2行
FOR(n=1,m=0;mA=A[n][m];

回答3:

C语言规定的,a[][n]可以 a[n][]不行
类似的,a[][n][m]可以 a[n][m][]不行

最高维的长度必须都确定。这个 是C在数组内存申请上的机制,它得确定高每一维的宽度才好知道地址间隔的宽度,
楼主记着最低位的可以空,高的不能空,就行了。
你的串号我已经记下,采纳后我会帮你制作

回答4:

a[m][n]中a[m]是行地址

回答5:

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);
}