通过 C 中的指针将函数的 return 值传递给另一个函数

Passing return value of a function to another function via pointers in C

我正在尝试为学校制作一个掷骰子游戏,但我的 teacher/peers 出于某种原因不喜欢使用指针。

我有以下代码:

double get_wager_amount (void) {

    double wager;

    printf("How much would you like to wager?\n");
    scanf(" %f", &wager);

    return wager;
}

并希望 return 将赌注变量放入另一个函数,该函数根据用户银行帐户中的金额验证赌注金额。

类似于下面的代码,但这显然不起作用,因为它重新打印了上面赌注和银行帐户函数中的所有内容。

int check_wager_amount (int *wager, int *account_balance)) {
    double wager = 0, balance= 0;

    if (wager <= get_wager_amount())
    {
        return 1;
    } if (balance <= get_bank_balance())
    {
        return 0;
    } else
    {
        printf("You either have no money or the program is not functioning correctly");
    }
}

有人可以解释一下如何通过指针或引用将函数的 return 值传递给其他函数吗?我找不到有关如何在 C 中执行此操作的任何信息。谢谢。

你想要这个吗?

check_wager_amount(&get_wager_amount()); // This should work, I guess

我不确定这是否不正确使用,但如果上面产生错误(我自己对 C 很陌生),您总是可以使用

double wager = get_wager_amount(); // Store the variable somewhere
check_wager_amount(&wager); // Reference the variable

我还注意到您的代码无效。您要求以 int 形式下注,但后来将其声明为 double。指针是一个 int,但您应该使用 double*(不是 int,而且绝对不是 int*)来存储您的指针。