Как приведенная ниже программа выводит `C89` при компиляции в режиме C89 и` C99` при компиляции в режиме C99?
Я нашел эту программу на C из Интернета:
#include <stdio.h>
int main(){
printf("C%d\n",(int)(90-(-4.5//**/
-4.5)));
return 0;
}
Что интересно в этой программе, так это то, что когда она компилируется и запускается в режиме C89, она печатаетC89
и когда он скомпилирован и запущен в режиме C99, он печатаетC99
, Но я не могу понять, как работает эта программа.
Можете ли вы объяснить, как второй аргументprintf
работает в вышеуказанной программе?