Wie gibt das folgende Programm "C89" aus, wenn es im C89-Modus kompiliert wird und "C99", wenn es im C99-Modus kompiliert wird?
Ich habe dieses C-Programm aus dem Web 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 @ ausgibC89
und wenn es kompiliert und im C99-Modus ausgeführt wird, gibt es @ aC99
. Aber ich kann nicht herausfinden, wie dieses Programm funktioniert.
önnen Sie erklären, wie das zweite Argument vonprintf
funktioniert im obigen Programm?