elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  ¿Error por falta de corchetes?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Error por falta de corchetes?  (Leído 2,189 veces)
fafafa01

Desconectado Desconectado

Mensajes: 82


Ver Perfil
¿Error por falta de corchetes?
« en: 11 Enero 2017, 00:39 am »

Buenas estoy intentando no usar corchetes en el código pero no funciona como quiero, creo que es porque no entiendo bien cuando están explictos (cuando no son necesarios)

Código
  1. while(expresion)
  2.    if(expresion)
  3.        if (expresion)
  4.            while(expresion)
  5.                ;  //solo hace lo de adentro del while
  6.        else
  7.            while(expresion)
  8.                ;  //solo hace lo de adentro del while
  9.    else{
  10.        if(expresion)
  11.            expresión; //solo una linea
  12.        else if(expresion)
  13.            expresion; //solo una linea
  14.        else if(expresion)
  15.            expresion; //solo una linea
  16.        else if(expresion)
  17.            expresion; //solo una linea
  18.        if (expresion) //nuevo if
  19.            expresion; //solo una
  20.    }
  21. if (expresion) //este if no estaria adentro del primer while
  22.    expresion; //solo una linea
  23. else
  24.    expresion; //solo una linea
  25.  

segun lo que yo entiendo por los paréntesis explícitos, todas las sangrías que he dejado son correctas, pero el código no hace lo que pido.


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: ¿Error por falta de corchetes?
« Respuesta #1 en: 11 Enero 2017, 00:44 am »

en cual falla? (no es muy buena practica usarlos así incluso lo ideal de usarlos sin parentesis es cuando se usan "en linea" que colocas la expresión justo al lado)


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
theluigy13etv

Desconectado Desconectado

Mensajes: 179


Primero se hace, después se mejora


Ver Perfil
Re: ¿Error por falta de corchetes?
« Respuesta #2 en: 11 Enero 2017, 07:28 am »

Como te mencionó engel lex, no es una buena práctica evitar el uso de llaves.
Personalmente prefiero usar siempre las llaves en todas las estructuras de control de decisión y de bucles (if-else, while, switch, ..)

Código
  1. if (condición) {
  2.    // ....
  3. } else {
  4.    // ...
  5. }
  6.  


Código
  1. if (condición) {
  2.    // ....
  3. } else if (condición) {
  4.    // ...
  5. } else if (condición) {
  6.    // ...
  7. } else if (condición) {
  8.    // ...
  9. } else {
  10.    // ...
  11. }
  12.  

Código
  1. while (expresion) {
  2.    if (expresion) {
  3.        if (expresion) {
  4.            while (expresion) {
  5.                ;  //solo hace lo de adentro del while
  6.            }
  7. } else {
  8.            while(expresion) {
  9.                ;  //solo hace lo de adentro del while
  10.    }
  11. }
  12.    } else {
  13.        if (expresion) {
  14.            expresión; //solo una linea
  15. } else if (expresion) {
  16.            expresion; //solo una linea
  17. } else if (expresion) {
  18.            expresion; //solo una linea
  19. } else if (expresion) {
  20.            expresion; //solo una linea
  21. }
  22.  
  23.        if (expresion) {//nuevo if
  24.            expresion;
  25. }
  26.    }
  27. }
  28.  
  29. if (expresion) { //este if no estaria adentro del primer while
  30.    expresion; //solo una linea
  31. } else {
  32.    expresion; //solo una linea
  33. }
  34.  
  35.  


« Última modificación: 11 Enero 2017, 17:04 pm por theluigy13etv » En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: ¿Error por falta de corchetes?
« Respuesta #3 en: 11 Enero 2017, 09:38 am »

Birrando esa llave el penúltimo if se ejecutaría fuera del primer while.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Error al instalar DOOM 3 falta un archivo
Juegos y Consolas
Saok Dagon 0 1,585 Último mensaje 28 Octubre 2006, 10:17 am
por Saok Dagon
Necesito reparar el error '' falta bootmgr'' de windows 7. « 1 2 »
Windows
Devill 18 115,522 Último mensaje 1 Octubre 2011, 17:28 pm
por Randomize
error "falta bootmgr...
Windows
J@1m3ML 3 3,293 Último mensaje 5 Marzo 2013, 16:22 pm
por Zhuikov
Error de sintaxis (falta operador) en la expresión de consulta 'amc.Id_Alumno =
.NET (C#, VB.NET, ASP)
Guillito 0 2,460 Último mensaje 14 Agosto 2015, 00:30 am
por Guillito
[SOLUCIONADO][SH] Error al ejecutar script, [: falta un `]'
Scripting
JoseluCross 2 4,618 Último mensaje 21 Febrero 2016, 20:37 pm
por JoseluCross
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines