Trying to solve an exercise where I have to print a random temperature value between 35°C & -10°C every 5 seconds followed by the date and time. Everything looks to be working as intended, however when I enter the code in a test script I get following errors.
This is my code:
#include<stdio.h>
#include<unistd.h>
#include<time.h>
#define temp_max 35
#define temp_min -10
#define FREQUENCY 5
int main(void)
{
srand(time(NULL));
while(1)
{
int number = rand() % (temp_max*100 - temp_min*100) + temp_min*100;
double temperature = (double) number;
temperature /= 100;
printf("Temperature=%1.2f @ ",temperature);
fflush(stdout);
system("date");
sleep(FREQUENCY);
}
return 0;
}
These are my results:
This is what the test script checks for:
As I am unable to see my own mistakes, any help would be greatly appreciated.
You failed to
#include <stdlib.h>
. As a result, the functions you called were assumed to accept an unknown number of arguments and return a value of typeint
. This causes undefined behavior.Put
#include <stdlib.h>
at the top of your file.I had a similar problem. My code was compiled but I got warning message.
When I compile it,
After adding
<stdlib.h>
warning message was gone.