Я пытаюсь вернуть свою программу случайному числу [-5,5], используя функцию rand() в C. Программа работает, но мне не нравится факт ее предоставления 2 предупреждение каждый раз, когда я компилирую код. Вот код:c4014 при использовании rand() в C
#include <time.h>
#include<stdio.h>
int main(int argc, char *argv[]){
int randomNumber = 0;
for (int index = 1; index < argc; index++) {
printf("The %d is %s\n", index, argv[index]);
}
getchar();
srand(time(NULL));
randomNumber = (rand()%11)-5;
return randomNumber;
}
И эти предупреждения:?
warning C4013: 'srand' undefined; assuming extern returning int
warning C4013: 'rand' undefined; assuming extern returning int
Почему эти предупреждения появляться я боюсь, что они могут вызвать некоторые проблемы позже, так что я хотел бы устранить эти предупреждения.
изменения:
Добавлена еще одна библиотека:
#include <stdlib.h>
2 предупреждений нет, 1 новый:
warning C4244: 'function' : conversion from 'time_t' to 'unsigned int', possible loss of data
Новое предупреждение решается путем изменения в вызове srand к:
srand((unsigned int)time(NULL));
Этот является окончательной и решенной программой:
#include <time.h>
#include<stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]){
int randomNumber = 0;
for (int index = 1; index < argc; index++) {
printf("The %d is %s\n", index, argv[index]);
}
getchar();
srand((unsigned int)time(NULL));
randomNumber = (rand()%11)-5;
return randomNumber;
}
SOLVED, пошагово редактировал шаг за шагом для ссылки на другие пользователи. Спасибо
Вы забыли '#include' –
Как насчет '#include' или '' #include '? –
lit
Включено, 2 предыдущих исчезли, но теперь есть еще один: 'warning C4244: 'function': преобразование из 'time_t' в 'unsigned int', возможную потерю данных' – kadzu