程序:a=-17Lprintf("%d\n",a)其中a的定義數是十進制還是八進制,還是十六進制,但是十進制定義不能帶字母八進制是以0開頭十六進制是以0X開頭那a定義的是什么數?程序的結果是什么?

熱心網友

a定義的是長整型數。如long int a = -17L; /*可省略int*/輸出時的格式符是%ld如printf("a=%ld\n", a);程序結果是-17如果格式符是%d, 而a的補碼又超過了65535,則輸出結果會被截斷。

熱心網友

你說的不錯

熱心網友

在后面加L(long)表示長整形(long int)的意思,依然還是十進制數輸出語句也最好改為:printf("%dl\n",a);希望我說的沒錯!