C++非法数字,简单问题

Ove*_*r10 5 c++

我正在反对这个错误:

int temp = 0789;

error C2041: illegal digit '8' for base '8'
Run Code Online (Sandbox Code Playgroud)

我能理解的是,编译器将任何以 0 开头的数字(如 0123)理解为八进制。但是我怎么能告诉编译器只在前面加上 0 呢?

And*_*rsK 6

如果你把 0 放在前面,它认为它是八进制值,因此 8 和 9 是非法数字。


xax*_*xon 4

http://msdn.microsoft.com/en-us/library/00a1awxf(v=vs.80).aspx

关于这方面的很棒的资源。

0xff 是十六进制 0123 是八进制 123u 是无符号..还有更多...