为什么c语言里二维数组要用2个for语句?

#include "stdio.h"
main()
{
int a[3] [4];
int i,j;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf("%d",a[i]+j);
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
printf("%4d",*(a[i]+j));
printf("\n");

}
}
为什么还要用scanf后面的for语句

因为是二维数组,要用两重循环为每一行输入赋值,scanf后面的for循环作用只是输出数组中的内容追问

for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
printf("%4d",*(a[i]+j));
printf("\n");

}
为什么开始的for没有{}
scanf 后面的for 用{}

追答

第二个for循环体中有多条语句,所以要用大括号,第二个for整体作为第一个for 的循环体,所以不需要大括号,加上也可以

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-03-19

C语言的数组概念的学习,通过for循环输出打印数组

相似回答