Catherine Recanati <Catherine.Recanati@lipn.univ-paris13.fr> disait recemment que :
Le compilateur des salles F206 et F207 (gcc ...) laisse passer des erreurs de syntaxe graves en C, en l'occurence, il ne nécessite pas qu'une variable soit déclarée en tête de bloc. (Je rappelle à ceux qui ne connaitraient pas bien C qu'un bloc en C (tout ce qui est entre accolades) est constitué de deux blocs successifs, un bloc de déclarations suivi d'un bloc d'instructions).
On peut dans cet environnement déclarer ses variables "au vol" comme en java. La seule chose qu'il controle apparemment est que la variable
SI j'ai bien compris, c'est un truc du genre : ------------------------------------------------------------------------ #include <stdio.h> main() { int i = 4; printf("i = %d\n", i); int j = 5; printf("j = %d\n", j); } ------------------------------------------------------------------------ SI j'en crois le man de gcc, ça semble être du a la compatibilité avec le C++ (gcc est également utilisé pour compiler le C++). Pour éviter d'avoir ce genre de "bug", il suffit d'utiliser l'option '-pedantic' (elle force la confirmité à la norme ISO C90) : ]>gcc -pedantic test1.c -o test1 test1.c: Dans la fonction « main »: test1.c:9: attention : ISO C90 forbids mixed declarations and code TH