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

531
Views
el formato '%lld' espera el tipo 'long long int', pero el argumento 4 tiene el tipo 'int64_t'

Intento imprimir una variable de tipo int64_t usando el especificador de formato %lld pero recibo la siguiente advertencia.

Advertencia: el formato '%lld' espera el tipo 'long long int', pero el argumento 4 tiene el tipo 'int64_t'

En mi opinión, bajo Linux, int64_t siempre es long long int , entonces:

  1. ¿Por qué se produce esta advertencia?
  2. ¿Cómo puedo arreglar esto?
over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

¿como arreglar?

Use PRId64 : (No olvide incluir <inttypes.h> )

 printf("var64 = %" PRId64 "\n", var64);

Use PRIx64 y la conversión adecuada si desea imprimirlo como hexadecimal.

int64_t siempre es long long int , entonces, ¿por qué aparece esta advertencia?

C99 en adelante ( enlace al borrador , página 22), las especificaciones de C sugieren que el tipo long long int debe ser al menos de 64 bits, pero también puede ser más.

— valor mínimo para un objeto de tipo long long int
LLONG_MIN -9223372036854775807 // −(2 63 −1)
— valor máximo para un objeto de tipo long long int
LLONG_MAX +9223372036854775807 // 2 63 − 1

En algunas plataformas, long long int puede ser de 128 bits y la declaración de impresión invoca UB en dichas plataformas.

Así que trate esta advertencia como una advertencia de problema de portabilidad.

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!