当C/C++中的数字常量以0为前缀时,这意味着什么?

好的…所以我有一个愚蠢的想法,并尝试将值0123放入一个int,只是好奇看看会发生什么,我假设当我打印的值我得到123,但我得到83 …有什么想法吗?在编译器/内存中发生什么使该值变为83?

我在C和C中使用GCC编译器尝试了这个,并尝试使用浮点数产生相同的结果.

解决方法:

在C/C++中,前缀为’0’的数字文字是八进制(基数为8).

http://www.cplusplus.com/doc/tutorial/constants/

上一篇:Javascript,使用包含其名称的字符串引用变量?


下一篇:Linux环境变量名中允许的字符