我想這個簡單的C程序來劃分數..簡單的C程序將一些
void main()
{
int i,j,k;
i=00126;
j=2;
k=i/j;
printf("%d",k);
}
它顯示輸出爲43,而不是63 ..如果我把另一0作爲
i=000126;
現在我收到錯誤爲非法的八進制數字。
如果我想
i=00000001000;
它不顯示任何錯誤,並給出結果作爲256..I無法理解這個意外的輸出。任何人都可以說爲什麼它會產生這樣的產出?
明確的解釋將不勝感激。
編輯:如果我試圖
int i,j,k;
i=1000;
j=0002;
k=i/j;
printf("%d",k); //which gives 500 as result
你想做什麼?除八進制還是整數?你不能有前導零... – 2013-02-08 12:41:40
如果你開始你的數字爲零,他們是八進制。 126 oct = 86 dec。 – ElPaco 2013-02-08 12:42:23
i = 00000001000;可能是i = 0b000001000; ?你的編譯器是什麼? – 2013-02-08 12:48:23