C语言数组

[复制链接]
查看11 | 回复4 | 2009-2-4 16:42:15 | 显示全部楼层 |阅读模式
#include
main()
{
int a[2][3],i,j;
printf("Enter data by line:\n");
for(i=0;i<2;i++)
for(j=0;j<3;j++)scanf("%d",&a[j]);
printf("Output a2-dimension array:\n");
for(j=0;j<2;j++)
{ for(i=0;i<3;i++)

printf("%4d",a[j]);

printf("\n");
}
for循环中j和i的顺序,以及数组中j和i的顺序影响什么?
具体点就是问下为什么在后面的for循环以及printf里i,j的顺序调换了

回复

使用道具 举报

千问 | 2009-2-4 16:42:15 | 显示全部楼层
我先告诉你printf里i,j的顺序调换了是没有影响的就算把printf里i,j的换成a,b也是没有问题的。前面的for循环是为了从第一行开始到第三行分别是00,01,02, 10,11,12, 20,21,22输入数据后面的for循环是为了从第一行开始到第三行输出数据,分别是00,01,02, 10,11,12, 20,21,22。还是不明白的,我可以在线和你分析,帮你把程序弄明白,你自然就会知道是怎么回事了。...
回复

使用道具 举报

千问 | 2009-2-4 16:42:15 | 显示全部楼层
- -!数据在数组的存储位置赛 也就是打印出来的顺序 而且这个地方 i j也不能换~不然应该要出错后面的PRINTF互换就可以想想入栈和出栈的顺序问题就知道了...
回复

使用道具 举报

千问 | 2009-2-4 16:42:15 | 显示全部楼层
i j 功能是循环计数器在后面的for 循环中 已经对i j进行了初始化赋值 。printf 里的 i j顺序应该和循环内外曾对应一致这里其实可以理解为 后面的for 循环所用的i j 是另外定义的 整形 变量打印时 内外层循环要和二维数组的下标对应...
回复

使用道具 举报

千问 | 2009-2-4 16:42:15 | 显示全部楼层
这个对数组输出无影响,for(i=0;i<2;i++) for(j=0;j<3;j++)scanf("%d",&a[j]); 是输入a[0,1][0,1,2]这六个数for(j=0;j<2;j++) { for(i=0;i<3;i++) printf("%4d",a[j]); 是输出a[0,1][0,1,2]这六个...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行