Ich habe dieses C-Programm aus dem Internet gefunden:
#include <stdio.h>
int main(){
printf("C%d\n",(int)(90-(-4.5//**/
-4.5)));
return 0;
}
Das Interessante an diesem Programm ist, dass es beim Kompilieren und Ausführen im C89-Modus gedruckt wird C89und beim Kompilieren und Ausführen im C99-Modus gedruckt wird C99. Aber ich kann nicht herausfinden, wie dieses Programm funktioniert.
Können Sie erklären, wie das zweite Argument von printfim obigen Programm funktioniert?
gcc. Ohne dass std=c99Sie eine Warnung erhalten, und wenn Sie sie ignorieren, gccwird dies immer noch// als Beginn eines Kommentars interpretiert (ah - Sie müssen es auch verwenden -pedantic. Ich habe das standardmäßig aktiviert.)
C89mit explizit std=c89in gcc 4.9.2.
#if __STDC_VERSION__ >= 199901L, nicht den //Kommentar-Trick. =)
//Kommentar im C ++ - Stil wurde in C99 eingeführt.