gpt4 book ai didi

c - 如何使用void函数操作两个数组

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

此代码要求用户填写矩阵,然后调用 void 函数将它们相加。我有一个 www.ideone.com我也无法更改大部分代码。需要所有这些定义语句和一个 void 函数。

#include <stdio.h>
#include <math.h>

#define NCOL1 2
#define NCOL2 2
#define NROW1 2
#define NROW2 2
#define NCOL3 2
#define NROW3 2

int main (void)
{
//Initiate variables
double a, b;
int i, j;
void addarray(double a, double b);
double ans;
double arr1[NCOL1][NROW1], arr2[NCOL2][NROW1];

//Ask user to enter numbers for the first matrix
printf("Please enter numbers for Matrix 1 :\n ");
for (i = 0; i < NCOL1; i++) {
for (j = 0; j < NROW1; j++) {
scanf("%lf", &arr1[i][j]);
}
}

//Ask user to enter numbers for the second matrix
printf("Please enter numbers for Matrix 2 :\n ");
for (i = 0; i < NCOL2; i++) {
for (j = 0; j < NROW2; j++) {
scanf("%lf", &arr2[i][j]);
}
}

//Iterate through void function and print out result
for (i = 0; i < NCOL3; i++) {
for (j = 0; j < NROW3; j++) {
addarray(arr1[i][j], arr2[i][j]);
printf("%lf", ans);
}
}
return 0;
}

void addarray (double a, double b)
{
int i,j;
double arrsum[NCOL3][NROW3];
for (i = 0; i < NCOL3; i++) {
for (j = 0; j < NROW3; j++) {
arrsum[i][j] = a + b;
}
}
}

最佳答案

你的问题是什么?感谢您提供代码,但不清楚您到底想做什么,或者代码目前做错了什么。请更新您的问题,详细说明您要完成的工作以及您需要帮助的具体内容。

一般建议:如果您想使用函数操作数组,那么该函数需要将指向数组的指针作为参数。

此外,您的 addarray() 函数仅修改数组 arrsum,它位于该函数的范围内。由于该函数在初始化其元素后从不对 arrsum 执行任何操作,因此整个函数本质上是空操作。

关于c - 如何使用void函数操作两个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10323848/

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