gpt4 book ai didi

c - C 中的函数参数在函数调用后未修改

转载 作者:行者123 更新时间:2023-11-30 16:54:24 25 4
gpt4 key购买 nike

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<time.h>

double gen(double dS) //Function for a random double variable
{
double dx=0;
dx=rand()%200+1;
dS=dx/100;
return(dS);
}

int main()
{
double dZahl=0;
double dTokens=1;
srand((unsigned)time(NULL));
double dSummand=0;
int iGame=0;
for(;;)
{
printf("Deine Tokens:%.2lf\n", dTokens); //This doesn't really matter
printf("Was m%cchtest du tun?\n[1]:Generiere Tokens\n[2]:Spiele ein Minigame\n", 148);
fflush(stdout);
scanf("%d", &iGame);
fflush(stdin);
switch (iGame)
{
case 1:
{
gen(dSummand); //function in use
dTokens=dTokens+dSummand;
printf("\nDu hast %.2lf Tokens generiert!\n", dSummand); //the output of the value
fflush(stdout);
}
break;
}
}

getch();
}

问题是 dSummand 没有从 dS 获取值。有谁知道问题是什么,因为我试图解决它,但我无法弄清楚。

我正在尝试为我的程序获取一个带有函数的随机 double 值。我以为它会像这样工作,但不幸的是它没有。

最佳答案

如果您希望 dS 的值从修改后的函数中出来,则必须传递一个指针。

double gen(double *dS) {

*dS=dx/100;

然后

gen(&dSummand);

关于c - C 中的函数参数在函数调用后未修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40536690/

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