还是一个简单的程序,但是半天没想通,求解释,该怎么处理
还是一个简单的程序,但是半天没想通,求解释
int a=200, b=010;
printf("%d%d", a, b);
为什么输出是2008呢?
------解决方案--------------------
我犯了一个常识错误, C语言支持二进制的字面量, 如 0b10 = 2,
总结下:
二进制前缀: 0b
八进制前缀: 0
十六进制前缀: 0x
十进制: 无前缀
------解决方案--------------------
int a=200, b=010;
printf("%d%d", a, b);
为什么输出是2008呢?
------解决方案--------------------
我犯了一个常识错误, C语言支持二进制的字面量, 如 0b10 = 2,
总结下:
二进制前缀: 0b
八进制前缀: 0
十六进制前缀: 0x
十进制: 无前缀
------解决方案--------------------