2015-11-07 5 views
0

Рассмотрим следующий код:Почему ведущие нули изменяет значение

int x = 030; 
cout << x; 

Печатает 24 в Code :: Blocks. Зачем?

+0

Я думаю, что это та самая причина, которая вызывает 'std :: cout << 0x030;' print 48. [Вы можете прочитать эту статью] (http://en.cppreference.com/w/CPP/язык/integer_literal). –

+0

Начинает с «Рассматривать»: не устраивает домашнее задание. –

ответ

1

Это буквальное число буквальное, вот в чем причина.

Cite от reference:

восьмеричное-буквальным это цифра ноль (0), а затем ноль или более восьмеричных цифр (0, 1, 2, 3, 4, 5, 6, 7)

Смежные вопросы