gpt4 book ai didi

c - 函数中的参数

转载 作者:行者123 更新时间:2023-11-30 14:54:27 25 4
gpt4 key购买 nike

我有这个函数计算 x [0]、x [1]、x [2],其中 n 是行,L 是下矩阵(0 在顶部对角线上),x 是未知数,b 是解。问题是他们要求我从 main 调用它,并且不知道如何将参数传递给函数,我将其留在这里:

void resTinf (int n, double **L, double *x, double *b){
int i, k;
x[0]=b[0];

for (i = 1, i<n, i++){
x[i]=b[i];

for (k = 0, k<i, k++){
x[i] = x[i]-L[i][k]*x[k];
}
}
x[2] = b[2] - L[2][0]*x[0]-L[2][1]*x[1];
printf(x[1], x[2], x[3]);
}

主要:

int n = 3;
double **a, *v, *u;

scanf ("% le " , &v[0 ]);
scanf ("% le " , &v[1 ]);
scanf ("% le " , &v[2 ]);
scanf ("% le " , &a[1][ 0]);
scanf ("% le " , &a[2 ][ 0]);
scanf ("% le " , &a[2 ][ 1 ]);

最佳答案

首先,您需要为动态数组分配内存,或者只是在函数开头创建静态数组。 像这样:

#include <stdlib.h>  

主要:

int n = 3;
double **a, *v, *u;
v = (double*)malloc(n * sizeof(double));
u = (double*)malloc(n * sizeof(double));
a = (double**)malloc(n * sizeof(double *));
for(int i = 0; i < n; i++){
a[i] = (double*)malloc(n * sizeof(double));
}


scanf ("% le " , &v[0 ]);
scanf ("% le " , &v[1 ]);
scanf ("% le " , &v[2 ]);
scanf ("% le " , &a[1][ 0]);
scanf ("% le " , &a[2 ][ 0]);
scanf ("% le " , &a[2 ][ 1 ]);

 int n = 3;
double a[n][n], v[n], u[n];

scanf ("% le " , &v[0 ]);
scanf ("% le " , &v[1 ]);
scanf ("% le " , &v[2 ]);
scanf ("% le " , &a[1][ 0]);
scanf ("% le " , &a[2 ][ 0]);
scanf ("% le " , &a[2 ][ 1 ]);

关于c - 函数中的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46683811/

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