2014-10-17 35 views
0

好的,这里是我的问题。我第一次使用srand,我得到了“赋值使得整型指针没有投射”警告。我已阅读了这里的许多主题,但我仍然没有看到什么是错的。由于问题很长,我会发布相关部分。赋值使指针从整数没有投 - rand()

声明的温控功能

void getFinalsRandom(int*, int*, int*); 

函数调用在主的()内功能

void getFinalsRandom(int *finalDay, int *finalTime, int *finalTimeSat) 
{ 
    srand(time(NULL)); 
    finalDay = rand() % 6; 
    finalTime = rand() % 5; 
    finalTimeSat = rand() % 4; 
} 

我还包括time.h中,stdio.h中

int finalsDayRandom; 
int finalsTimeRandom; 
int finalsTimeRandomSat; 

getFinalsRandom(&finalsDayRandom, &finalsTimeRandom, &finalsTimeRandomSat); 

实际代码, stdlib.h,math.h

回答

3

你需要

*finalDay = rand() % 6; 
*finalTime = rand() % 5; 
*finalTimeSat = rand() % 4; 

更换

finalDay = rand() % 6; 
finalTime = rand() % 5; 
finalTimeSat = rand() % 4; 

由于目前是,你实际上是覆盖指针与随机数,而不是值的本地副本的指针

+0

哇,我确信我想,当我排除故障。我想也许我尝试了。感谢一群人立即解决它。 – 2014-10-17 15:35:24

+0

@CraigPlazony没问题。如果他们解决了问题,请接受其中一个答案(答案旁边的大复选框),以便人们知道你已经知道了答案。 – aruisdante 2014-10-17 15:37:12

4

不要在函数中调用srand,每次运行程序时调用一次。

然后改变你的函数是这样的:

void getFinalsRandom(int *finalDay, int *finalTime, int *finalTimeSat) 
{ 
    *finalDay = rand() % 6; 
    *finalTime = rand() % 5; 
    *finalTimeSat = rand() % 4; 
} 
相关问题