Неявное объявление функции "время" [-Wimplicit-function-declaration] |
Всякий раз, когда я пытаюсь использовать функцию srand
, я получаю это предупреждение
"implicit declaration of function 'time' [-Wimplicit-function-declaration]|"
и отчет об ошибках Windows появляется, когда выполняется скомпилированный файл,
Я новичок в программировании, я нашел это в учебнике, но это не работает для меня.
srand (time());
int x= (rand()%10) +1;
int y= (rand()%10) +1;
printf("\nx=%d,y=%d", x,y);
Что мне нужно, чтобы исправить это?
Ответы
Ответ 1
Вы должны убедиться, что вы #include
правильные заголовки, в данном случае:
#include <stdlib.h> // rand(), srand()
#include <time.h> // time()
В случае сомнений проверьте страницы руководства:
$man rand
$man time
Еще одна проблема: time()
требует аргумент, который может быть NULL
, поэтому ваш вызов srand()
должен быть:
srand(time(NULL));
Ответ 2
Обратите внимание, что функция time()
использует текущее время (выраженное в секундах с 1970 года) как в возвращаемом значении, так и в его аргументе адреса.