gpt4 book ai didi

c - 为什么我的程序在第一个 for 循环之后结束?

转载 作者:太空宇宙 更新时间:2023-11-04 02:28:42 25 4
gpt4 key购买 nike

我正在编写一个程序来计算幻方,但我无法让输入正常工作。我很确定我正在用值填充数组,但它在前两个 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

最佳答案

第一次循环后,需要将行和列重置为0:

                for(row = 0; row<dimension; ++row)

for(col = 0; col<dimension; ++col)
{
printf("Please enter the data for row %d: ", ++rowNumber$
scanf("%d", &arr[row][col]);


}


for(row = 0; row<dimension; ++row)
{
for(col = 0; col<dimension; ++col)
{
printf("%d", arr[row][col]);
}
}

保持在循环中初始化计数器变量的习惯,否则会很危险。

关于c - 为什么我的程序在第一个 for 循环之后结束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47090643/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com