Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

1.4K
Views
Declaración implícita de funciones srand, rand y system

Intentando resolver un ejercicio en el que tengo que imprimir un valor de temperatura aleatorio entre 35°C y -10°C cada 5 segundos seguido de la fecha y la hora. Todo parece estar funcionando según lo previsto, sin embargo, cuando ingreso el código en un script de prueba, recibo los siguientes errores.

declaración implícita de errores de funcionesEste es mi código:

 #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; }

Estos son mis resultados:

Estos son mis resultados

Esto es lo que comprueba el script de prueba:

Esto es lo que comprueba el script de prueba

Como no puedo ver mis propios errores, cualquier ayuda sería muy apreciada.

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

No pudo #include <stdlib.h> . Como resultado, se asumió que las funciones a las que llamó aceptaban un número desconocido de argumentos y devolvían un valor de tipo int . Esto provoca un comportamiento indefinido.

Ponga #include <stdlib.h> en la parte superior de su archivo.

over 4 years ago · Santiago Trujillo Report

0

Tuve un problema similar. Mi código fue compilado pero recibí un mensaje de advertencia.

 // Selection sort #include <stdio.h> #include <math.h> int main() { int list[100], i; for(i = 0 ; i < 100; i++) { list[i] = ( rand()%99 + 1 ); printf("%d ", list[i]); } printf("\n"); return 0; }

Cuando lo compilo,

 gcc -o selection_sort selection_sort.c -lm selection_sort.c: In function 'main': selection_sort.c:11:15: warning: implicit declaration of function 'rand'; did you mean 'nanl'? [-Wimplicit-function-declaration] list[i] = ( rand()%99 + 1 ); ^~~~ nanl

Después de agregar <stdlib.h> , el mensaje de advertencia desapareció.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!