[英]Passing return value of a function to another function via pointers in C
我正在尝试为学校制作掷骰子游戏,由于某种原因,我的老师/同伴不喜欢使用指针。
我有以下代码:
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中找不到有关如何执行此操作的任何信息。谢谢。
你想要这个吗?
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,并且绝对不是int *)来存储指针。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.