Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

665
Vistas
Error: agregue llaves explícitas para evitar colgar más. C

Estoy usando gedit y mi compilador es clang. He estado recibiendo un par de estos errores recientemente y no estoy seguro de cómo solucionarlos (error en el título y referencia a la declaración else).

 if(isupper(ptext[i])) if ((((ptext[i]+k)%26)+52) < 65 || (((ptext[i]+k)%26)+52) > 90) { printf("%c", (((ptext[i]+k)%26)+78)); } else { printf("%c", (((ptext[i]+k)%26)+52)); }

¿Qué debo agregar/quitar/arreglar? Gracias por adelantado :)

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Su exterior if le faltan los tirantes:

 if(isupper(ptext[i])) { if ((((ptext[i]+k)%26)+52) < 65 || (((ptext[i]+k)%26)+52) > 90) { printf("%c", (((ptext[i]+k)%26)+78)); } else { printf("%c", (((ptext[i]+k)%26)+52)); } }

Personalmente, extraería algunos de los elementos comunes en variables:

 char something1 = ptext[i]; if(isupper(something1)) { char something2 = (something1+k)%26; if ((something2+52) < 65 || (something2+52) > 90) { printf("%c", (something2+78)); } else { printf("%c", (something2+52)); } }

Y tal vez incluso poner un char something3 = something2 + 52; allí también. Por supuesto, con nombres de variables más significativos.

over 4 years ago · Santiago Trujillo Denunciar

0

C no es como Python, donde dice qué pertenece a qué por sangría. Porque en C, todos los espacios en blanco se ignoran. Debe usar llaves para decirle al compilador a qué declaración if pertenece el else .

El compilador de C no lo sabe, por lo que le pide que especifique:

¿Es esto?

 if(isupper(ptext[i])) { if ((((ptext[i]+k)%26)+52) < 65 || (((ptext[i]+k)%26)+52) > 90) { printf("%c", (((ptext[i]+k)%26)+78)); } else { printf("%c", (((ptext[i]+k)%26)+52)); } }

¿o esto?

 if(isupper(ptext[i])) { if ((((ptext[i]+k)%26)+52) < 65 || (((ptext[i]+k)%26)+52) > 90) { printf("%c", (((ptext[i]+k)%26)+78)); } } else { printf("%c", (((ptext[i]+k)%26)+52)); }

Este es un ejemplo de un else "colgante".

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda