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).