#include<stdio.h>
main(){
int a[4][4]
for(int i=0;i<5;i++){//数据初始化
for(int j=0;j<5;j++){
a[i][j]=(j+1)*(i+2);
}
}
for(int i=0;i<5;i++){//原始数据输出函数
for(int j=0;j<5;j++){
printf("%d\t",a[i][j]);
}
printf("\n");
printf("\n");
printf("\n");
}
for(int i=0;i<5;i++){//赋值运算函数
for(int j=0;j<5;j++){
if(i!=j){
a[i][j]=a[i][j]+a[j][i];
}
}
}
printf("\n");
printf("\n");
int k=1;
for(int i=0;i<3;i++){
for(int j=k;j<5;j++){
a[j][i]=0;
}
k=k+1;
}
for(int i=0;i<5;i++){
for(int j=0;j<5;j++){
printf("%d\t",a[j][i]);
}
printf("\n");
printf("\n");
printf("\n");
}
}
!原题如图所示](https://img-blog.csdnimg.cn/20181106110948717.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzI5NTgwMjQz,size_16,color_FFFFFF,t_70)
问题为什么第二个输出函数不管用?? `#include<stdio.h>
int a[4][4];
main(){
for(int i=0;i<5;i++){//数据初始化
for(int j=0;j<5;j++){
a[i][j]=(j+1)*(i+2);
}
}
for(int i=0;i<5;i++){//原始数据输出函数
for(int j=0;j<5;j++){
printf("%d\t",a[i][j]);
}
printf("\n");
printf("\n");
printf("\n");
}
for(int i=0;i<5;i++){//赋值运算函数
for(int j=0;j<5;j++){
if(i!=j){
a[i][j]=a[i][j]+a[j][i];
}
}
}
printf("\n");
printf("\n");
int k=1;
for(int i=0;i<3;i++){
for(int j=k;j<5;j++){
a[j][i]=0;
}
k=k+1;
}
for(int i=0;i<5;i++){
for(int j=0;j<5;j++){
printf("%d\t",a[j][i]);
}
printf("\n");
printf("\n");
printf("\n");
}
}
`当放到main()外时就正常了
第二个问题 当j=4且i=0时,不知道为什么a[3][4]突然变为0了?希望得到帮助。深表感谢!