033is an octal integer literal , and its meaning 8*3+3 = 27. Your code prints 28.
Integer literal starting with 0is octal. If it starts at 0x, it is hexadecimal.
By the way, for the sake example
int x = 08;
is a compile-time error, since it is 8not an octal digit.
source
share