2015-11-07 63 views
0

考慮下面的代碼:爲什麼前導零的變化值

int x = 030; 
cout << x; 

打印的代碼::塊24。爲什麼?

+0

我想這是非常相同的原因,這使得'std :: cout << 0x030;'打印48. [您可能想閱讀本文](http://en.cppreference.com/w/CPP /語言/ integer_literal)。 –

+0

從'考慮'開始:無謂的功課告訴。 –

回答

1

這是一個oktal數字字面,這就是原因。

reference引用:

八進制文字是數字零(0),接着是零個或更多八進制數字(0,1,2,3,4,5,6,7 )