Exercice langage C: Déterminer les erreurs commises dans un programme

[tab name=’♣ Exercice langage C’]

Quelles erreurs ont été commises dans chacun des groupes d’instructions suivants :

1)

if (a<b) printf ("ascendant")

else printf ("non ascendant") ;

2)

int n ;

...

switch (2*n+1)

{ case 1 : printf ("petit") ;

case n : printf ("moyen") ;

}

3)

#define LIMITE 100

int n ;

...

switch (n)

{ case LIMITE-1 : printf ("un peu moins") ;

case LIMITE : printf ("juste") ;

case LIMITE+1 : printf ("un peu plus") ;

}

4)

const int LIMITE=100

int n ;

[/tab][tab name=’Correction’]

1) Il manque un point-virgule à la fin du premier printf :

if (a<b) printf= » » (« ascendant »)= » » ;<= » » p= » »>

else printf (« non ascendant ») ;

2) Les valeurs suivant le mot case doivent obligatoirement être des « expressions constantes », c’est-à-dire des expressions calculables par le compilateur lui-même. Ce n’est pas le cas de n.

3) Aucune erreur, les expressions telles que LIMITE-1 étant bien des expressions constantes.

4) Ici, les expressions suivant le mot case ne sont plus des expressions constantes, car le symbole LIMITE a été défini sous forme d’une « constante symbolique » (en C++, cependant, ces instructions seront correctes).

Exercice informatique, Correction exercice, Télécharger Exercice, Solution exercice, Exercice langage C

[/tab][end_tabset skin= »lightness » ]

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *