This question already has answers here:
Closed 5 years ago.
Assignment makes pointer without a cast
(2个答案)
好吧,这是我的问题。我是第一次使用srand,并收到“assignment makes pointer from integer without a cast”警告。我已经读了很多关于这里的文章,但我仍然不知道出了什么问题。问题太长了,我会把相关的部分贴出来。
功能声明
void getFinalsRandom(int*, int*, int*);

在Main()中调用的函数
int finalsDayRandom;
int finalsTimeRandom;
int finalsTimeRandomSat;

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

函数内部的实际代码
void getFinalsRandom(int *finalDay, int *finalTime, int *finalTimeSat)
{
  srand(time(NULL));
  finalDay = rand() % 6;
  finalTime = rand() % 5;
  finalTimeSat = rand() % 4;
}

我还包括时间。h,stdio.h,stdlib.h,数学

最佳答案

不要在函数中调用srand,在程序每次运行时调用一次。
然后按如下方式更改函数:

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

关于c - 赋值使指针从整数开始而没有强制转换-rand(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26428439/

10-16 08:03