Solución:
En
el código no existen errores que impidan la
ejecución del
programa. Así, en la primera alternativa simple, el
resutaldo de
evaluar su condición es falso
y, por tanto, no se ejecutará la instrucción:
printf(
"1" );
pero, la ejecución de las dos instrucciones siguientes:
printf(
"2" );
printf(
"3" );
no dependen de dicha condición, por tanto, en
pantalla se mostrará:
23
A
continuación, la segunda condición del programa
se evaluará a verdadero
y, en consecuencia, se ejecutará la instrucción:
printf(
"4" );
y las dos siguientes,
printf(
"5" );
printf(
"6" );
que, igualemente, su ejecución no está
condicionada.
De forma que, por pantalla se mostrará:
23456
→ B
es VERDADERA
Reflexión:
Fíjese
que, los bloques de instrucciones de las alternativas
simples del programa sólo contienen una
instrucción en cada caso, por
tanto, ha sido posible omitir los caracteres abrir llave ({)
y cerrar llave
(}).
No obstante, para que sea más difícil caer en la
confusión, el
código sería más legible si lo
escribiésemos, por ejemplo, de la siguiente forma:
#include
<stdio.h>
int main()
{
int h = 7;
if ( h != h )
printf( "1" );
printf( "2" );
printf( "3" );
if ( h > 6 )
printf( "4" );
printf( "5" );
printf( "6" );
return 0;
}
También es una buena idea escribir siempre los
caracteres abrir llave
({)
y cerrar llave
(}),
independientemente de que el bloque de instrucciones contenga una o
más instrucciones. De esta forma se pueden evitar muchas
confusiones:
#include
<stdio.h>
int main()
{
int h = 7;
if ( h != h )
{
printf( "1" );
}
printf( "2" );
printf( "3" );
if ( h > 6 )
{
printf( "4" );
}
printf( "5" );
printf( "6" );
return 0;
}
|
|