【发布时间】:2021-06-15 18:10:47
【问题描述】:
如果我输入 3 行 3 列,它会打印如下内容:
它应该打印 3 行和 3 列,但它打印的内容比输入要多。
#include <stdio.h>
int main(){
int f, c;
printf("Rows\n");
scanf("%d", &f);
printf("Columns\n");
scanf("%d", &c);
int cruz[f][c];
int mf=sizeof(cruz);
int mc=sizeof(cruz[0]);
int mitadFilas=mf/2;
int mitadColumnas=mc/2;
for (int i = 0; i < mf; i++) {
for (int j = 0; j < mc; j++) {
if(i == mitadFilas || j == mitadColumnas) {
cruz [i][j] =1;
}else {
cruz [i][j] =0;
}
printf("%d ",cruz[i][j]);
}
printf("\n");
}
}
【问题讨论】:
-
为什么要把事情复杂化?为什么不
i < f和j < c?