函数不返回其他函数的值(C)

时间:2015-11-12 00:13:32

标签: c

我正在为课程编写这个程序,我必须在系列中计算等效电阻。 家庭作业的描述是: “目前的作业涉及使用指针计算串联电阻的等效电阻。串联电阻N的数量及其电阻值R [0],R [1],...,R [N- 1]是用户提供的...输入电阻器数量N和一维数组元素R [0],R [1],...,R [N-1]在“输入”原型内完成函数...这些值依次传递给“系列”原型函数,其中执行等效电阻Req的计算......输入和输出值从“输入”函数输出到控制台。 / p>

- 原型函数“input”和“series”都放在“main”函数之前,原型函数“series”放在“input”和“main”函数之间。“

代码:

#include <stdio.h>
#define x 100
#define y 10000
float series(int N, float R[]);

void input() {
    printf("\n---------------Compute equivalent resistance in series!---------------\n");
    int N;
    float R[y];

    printf("\nPlease enter amount of resistors: \n");
    scanf_s("%d", &N);

    for (int i = 1; i <= N; i++) {
        printf("\nEnter resistance for resistor %d: \n", i);
        scanf_s("%f", &R[i]);
    }

    series(N, R);

    printf("\n");

    for (int i = 1; i <= N; i++) {
        printf("The resistance of R[%d] is: %.2f.\n", i, R[i]);
    }
    printf("\nThe equivalent resistance is: %.2f Ohms.", Req);
}

float series(int N, float R[]) {
    float Req = 0;

    for (int i = 1; i <= N; i++) {
        Req += R[i];
    }
    return Req;
}

int main() {

    input();

    getchar();
    return 0;
}

我的问题是Req没有被返回到'input'函数以输出等效电阻。请帮忙。谢谢

1 个答案:

答案 0 :(得分:1)

您永远不会将系列结果分配给变量。

float req_ret;
req_ret = series (N, R);