J'ai trouvé ce programme C sur le Web:
#include <stdio.h>
int main(){
printf("C%d\n",(int)(90-(-4.5//**/
-4.5)));
return 0;
}
La chose intéressante avec ce programme est que lorsqu'il est compilé et exécuté en mode C89, il imprime C89et lorsqu'il est compilé et exécuté en mode C99, il imprime C99. Mais je ne suis pas en mesure de comprendre comment ce programme fonctionne.
Pouvez-vous expliquer comment le deuxième argument de printffonctionne dans le programme ci-dessus?
gcc. Sans std=c99vous un avertissement, et si vous l' ignorez, gccvous toujours interpréter le //comme début d'un commentaire (ah - vous devez utiliser -pedantic. De plus, j'ai que par défaut.)
C89avec explicite std=c89dans gcc 4.9.2.
#if __STDC_VERSION__ >= 199901L, pas l' //astuce des commentaires. =)
//commentaire de style C ++ a été introduit dans C99.