函数'time'的隐式声明[-Wimplicit-function-declaration] |

时间:2013-03-17 07:06:36

标签: c srand

每当我尝试使用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); 

我需要更正此问题?

2 个答案:

答案 0 :(得分:27)

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

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

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

$ man rand

$ man time

另一个问题:time()需要一个参数,可以是NULL,因此您对srand()的调用应为:

srand(time(NULL));

答案 1 :(得分:1)

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