还是一个简单的程序,但是半天没想通,求解释
int a=200, b=010;
printf("%d%d", a, b);
为什么输出是2008呢?
[解决办法]
我犯了一个常识错误, C语言支持二进制的字面量, 如 0b10 = 2,
总结下:
二进制前缀: 0b
八进制前缀: 0
十六进制前缀: 0x
十进制: 无前缀
[解决办法]
发布时间: 2012-03-30 17:32:09 作者: rapoo
还是一个简单的程序,但是半天没想通,求解释
int a=200, b=010;
printf("%d%d", a, b);
为什么输出是2008呢?
[解决办法]
我犯了一个常识错误, C语言支持二进制的字面量, 如 0b10 = 2,
总结下:
二进制前缀: 0b
八进制前缀: 0
十六进制前缀: 0x
十进制: 无前缀
[解决办法]