gpt4 book ai didi

c - 获取函数重新定义的问题

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

我正在尝试将数字扫描到 2 个二维数组中,但不断出现重新定义错误。

代码:

#include <stdio.h>
#define N 3

void getMatrix(double mat[N][N]);
/*
char getMenuOption();
void getCoordinates(int*, int*);
void sumMatrices(double mat1[][N], double mat2[][N]);
void changeMatrix(double mat[][N]);
void printMatrix(double mat[][N]);
*/
int main() {
double A[N][N], B[N][N];
/*
char option;*/
getMatrix( A[N][N]);
getMatrix( B[N][N]);
/*

option = getMenuOption();*/

return 0;
}
void getMatrix(double A[N][N]){
int i;
for(i=0;i<=N;i++){
for(i=0;i<N;i++)
{
scanf("%lf",&A[N][N]);
}
}
return;

}
void getMatrix(double B[N][N]){
int i;
for(i=0;i<=N;i++){
for(i=0;i<N;i++)
{
scanf("%lf",&B[N][N]);
}
}
return;
}

我猜问题是同一个函数被调用了两次,但我不太确定。如果有人能帮我指出问题,我将非常欢迎。

最佳答案

您不需要定义一个函数两次(调用它两次或更多次)。一个函数可以被多次调用,这就是将函数放在第一位的原因。摆脱

void getMatrix(double B[N][N]){
int i;
for(i=0;i<=N;i++){
for(i=0;i<N;i++)
{
scanf("%lf",&B[N][N]);
}
}
return;
}

话虽如此,你应该像这样调用该函数

getMatrix(A);
getMatrix(B);

传递数组(无论如何,衰减到指针)。符号 A[N][N] 表示数组的成员,对于定义如下的数组

double A[N][N];

它相差一,因为 C 中的数组索引从 0 开始。

关于c - 获取函数重新定义的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39271482/

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