本人刚开始学C语言,看到一些题目但是完全不懂该怎么分析。我想知道一段代码该如何去分析比较好,谢谢各位了。
#include <stdio.h>
void main()
{
int i, j;
int a[3][3], b[3][3], x;
for (i=0;i<3;i++)
for (i = 0; i < 3; i++)
{
scanf("%d", &x);//输入1,2,3,4,5,6,7,8,9 回车
a[i][j] = x;
}
for (i = 0; i < 3; i++)
for (j = 0; j < 3; j++)
b[j][i] = a[j][i];
for (i = 0; i < 3; i++)
{
printf("\n");
for (j = 0; j < 3; j++)
printf("%d", b[i][j]);
}
}
http://www.kokojia.com/article/22445.html
#include <stdio.h> //#预处理,就是插入头文件,你使用的库函数、类型在这头文件能找到
void main() //主函数,我理解为程序的入口
{
int i, j; //声明i,j整数型变量;
int a[3][3], b[3][3], x;//声明整型二维数组a,b;并声明整型x变量;
for (i=0;i<3;i++) //循环二维数组a的行;
for (i = 0; i < 3; i++)//循环二维数组的列,但在这里你写错了,应该j而不是i;
{
scanf("%d", &x);//输入1,2,3,4,5,6,7,8,9 回车 //从键盘读入存入x;
a[i][j] = x; //对数组各元素赋值
}
for (i = 0; i < 3; i++) //同a的大循环
for (j = 0; j < 3; j++)//同a的小循环
b[j][i] = a[j][i]; //对数组b赋值,但你这里i,j的下标反了,如果数组的行列不相等就会出现越界的问题。
//以下是打印b的每个元素值
for (i = 0; i < 3; i++)
{
printf("\n");
for (j = 0; j < 3; j++)
printf("%d", b[i][j]);
}
}