Bu C programını web'den buldum:
#include <stdio.h>
int main(){
printf("C%d\n",(int)(90-(-4.5//**/
-4.5)));
return 0;
}
Bu programla ilgili ilginç olan şey, derlendiğinde ve C89 modunda çalıştırıldığında, yazdırması C89ve C99 modunda derlenip çalıştırıldığında yazdırmasıdır C99. Ancak bu programın nasıl çalıştığını çözemiyorum.
printfYukarıdaki programdaki ikinci argümanın nasıl çalıştığını açıklayabilir misiniz ?
Güzel numara - ama başarısız oluyor
—
usr2564301
gcc. Olmadan std=c99bir uyarı alırsınız ve bunu göz ardı edersek, gccolacak hala yorumlamak //bir yorumun başlangıcından olarak (ah - Kullanmak zorunda -pedantic. Yanı ben varsayılan olarak bu var.)
@Jongware Eh, gcc 4.9.2'de
—
ikh
C89açıkça anladım std=c89.
Birinin bunu C99 desteğini test etmenin bir yolunu ararken bulması durumunda; lütfen yorum hilesi
—
Arkku
#if __STDC_VERSION__ >= 199901Ldeğil gibi bir şey kullanın //. =)
Aynı zamanda C11 için "C99" yazdırır ...
—
Lundin
//yorum C99'da tanıtıldı.