22

每当我尝试使用srand功能时,我都会收到此警告

"implicit declaration of function 'time' [-Wimplicit-function-declaration]|" 

运行编译文件时出现windows错误报告, 我是c编程的新手,我在教科书上找到了这个,但它对我不起作用。

  srand (time());  
  int x= (rand()%10) +1;  
  int y= (rand()%10) +1;  
  printf("\nx=%d,y=%d", x,y); 

我需要什么来纠正这个问题?

4

2 回答 2

42

您需要确保#include正确的标题,在这种情况下:

#include <stdlib.h>  // rand(), srand()
#include <time.h>    // time()

如有疑问,请查看手册页:

$曼兰特

$人工时间

还有一个问题:time()需要一个参数,它可以是NULL,所以你的调用srand()应该是:

srand(time(NULL));
于 2013-03-17T07:09:19.663 回答
1

请注意,time()函数在其返回值和地址参数中都使用当前时间(以 1970 年以来的秒数表示)。

于 2013-03-17T08:51:06.550 回答