#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值。我认为它会像这样工作,但不幸的是它没有。
答案 0 :(得分:0)
如果您希望dS
的值来自修改的函数,则必须传递指针。
double gen(double *dS) {
*dS=dx/100;
然后
gen(&dSummand);