gpt4 book ai didi

c - 将数组传递给函数

转载 作者:行者123 更新时间:2023-11-30 15:43:13 25 4
gpt4 key购买 nike

我正在尝试将用户从 scanf( "%d", &ar[rows][cols] ); 输入的值获取到 int 变量 temp.

但不知怎的,当我执行时,它在printf(“请输入9个正整数:”);之后给出了一个错误

编辑:我忘了包含代码。代码如下:

/* File: StudentID_Surname.c  - e.g. 1234567_Wilson.c
* This program finds the range between highest and lowest value of a 2-D array */

#include <stdio.h>

#define NROW 3
#define NCOL 3

/* Write a function
void disp_arr(int a[NROW][NCOL]) { ... }
where a[][] is the 2-D array
Print the entire array to the screen. */

disp_arr( temp );

int main(void)
{
/* declare needed variables or constants, e.g. */
int ar[NROW][NCOL];
int rows, cols, temp;

/* prompt for the user to enter nine positive integers to be stored into the array */

for ( rows = 0 ; rows < 3 ; rows++ )
{
for ( cols = 0 ; cols < 3 ; cols++ )
{
printf( "Please enter 9 positive integers : " );

scanf( "%d", &ar[rows][cols] );

temp = disp_arr(ar[rows][cols]);

printf( "%d\t", temp );
}
printf("\n");
}

}/* end main */

disp_arr( int temp )
{
int x,y;
int a[x][y];

printf( "%d", a[x][y] );

return a[x][y];
}

我的错误在哪里?

最佳答案

这是一个大问题:

int x,y;
int a[x][y];

定义局部变量时,默认情况下它们不会被初始化。相反,它们的值是不确定的,并且在未初始化时使用这些值会导致未定义的行为。

您还应该收到大量编译器警告,甚至错误(例如全局范围内的 disp_arr( temp ); 函数调用)。

此外,即使未声明的函数隐含返回 int,您仍应始终指定它。

关于c - 将数组传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19904136/

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