C语言遍历数组

来源:百度知道 编辑:UC知道 时间:2024/06/02 00:27:15
#include <stdio.h>

void main()
{
int a[2][3]={{1,2,3},{4,5,6}};
int b[3][2];
int i,j;

printf("数组 a:\n");
for(i=0;i<=1;i++) /*循环行*/
{
for(j=0;j<=2;j++) /*循环列*/
{
printf("%5d",a[i][j]); /*输出第i行第j列*/
b[j][i]=a[i][j]; /*数组a的i行j列赋值给数组b的j行i列*/
}
printf("\n");
}

for(i=0;i<=1;i++) /*循环行*/
为什么i要<=1??i++?

for(j=0;j<=2;j++) /*循环列*/
为什么j要<=2??j++?

因为数组是从0开始算起的
所以a[2][3]数起来是
第0行和第1行
第0列,第1列,第2列
i表示的是行,当初始化i=0时表示的是第0行,当i++之后,i=1时表示的是第1行,已经表示完数组的行数了,当i=2时已经数组越界了~所以i〈2这里和〈=1效果是一样的
同理
可解释j

数组的遍历用for循环实现比较好
#include <stdio.h>//主函数
main()
{
int A[10],i,j;//定义数组名与变量名
printf("输入十个数字、回车键确定:\n");
for (i=0;i<10;i++)//遍历录入数组元素
{
scanf("%d",&A[i]);
}
printf("输出数组元素:\n");//遍历输出数组元素
for(j=0;j<10;j++)
{
printf("%d",A[j]);

}
}

因为多维数组可以看成是一维数组组成的,J表示的是那个列数组,总共有三列,所以要<=2