我正在编写一个程序来计算一个幻方,但我无法让输入正常工作。我很确定我正在用值填充数组,但它在前两个 for 循环之后结束。后两个应该打印数组,但程序在输入数据后立即结束。我是否将循环放在错误的位置?
#include <stdio.h>
#define SIZE 15
int main(){
declareArray();
return 0;
}
int declareArray(){
int rowNumber = 0;
int dimension=0;
int arr[SIZE][SIZE] = {0};
int col = 0;
int row = 0;
printf("Please enter the dimension of the square: ");
scanf("%d", &dimension);
arr[dimension][dimension];
for(row; row<dimension; ++row)
for(col; col<dimension; ++col){
printf("Please enter the data for row %d: ", ++rowNumber$
scanf("%d", &arr[row][col]);
}
for(row; row<dimension; ++row){
for(col; col<dimension; ++col){
printf("%d", arr[row][col]);
}
}
return 0;
}
我的输入是:
3
123
456
789
我的预期输出是
123
456
789
我得到的是:
123
0
0
456
0
0
789
0
0