2010-10-30 5 views
4

code suivant est donné:si Nested-déclarations sans parenthèses

 if (c2-c1==0) 
     if (c1 != c3) 
        {...} 

Comment interpréter ce code? La première instruction if vient sans {}. Le code ci-dessus égal au code suivant ?:

if (c2-c1==0){ 
    if (c1 != c3) 
       {...} 
} 
+7

Comme les gens ont répondu, oui, ils sont équivalents au compilateur. Mais ** ne fais pas ça **. Pour cette raison même. "Always use braces" est l'une des directives de maintenance de base pour tous les langages dont la syntaxe dérive du langage B (C, Java, C++, C#, ...). Il peut y avoir une ou deux exceptions pour les paresseux, mais à part ça, Just Do It. Avec les bons outils, vous n'avez pratiquement jamais à les taper de toute façon. –

Répondre

5

Oui. L'instruction if s'applique à l'instruction suivante après celle-ci - qui se trouve être une autre si dans ce cas.

3

Oui, ils sont équivalents

1

Absolument. Ne pas mettre de parenthèses signifie que la seule instruction dans le premier si c'est l'autre si, qui peut contenir tout ce que vous voulez.

Questions connexes