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

时间:2015-02-23 22:40:02

标签: c pointers

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

我有以下代码:

double get_wager_amount (void) {

    double wager;

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

    return wager;
}

并且希望将投注变量返回到另一个函数,该函数根据用户银行帐户中的金额验证投注金额。

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

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");
    }
}

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

1 个答案:

答案 0 :(得分:0)

你想要这个吗?

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

我不确定这是否使用不正确,但如果上述情况产生错误(我自己很新),你可以随时使用

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

我也注意到你的代码无效。你要求下注作为一个int,但后来宣布它为双。指针是一个int,但你应该使用double *(不是int,并且defenitly而不是int *)来存储你的指针。