我有以下代码:
#define HARDW 671 // hardware 3 digits
#define FIRMW 013 // firmware 3 digits
printf("FIRMW %d\r\n", FIRMW);
结果是 11 而不是 13。 你有什么解释吗? 如何将定义的字段转换为整数? 请注意,我也将该字段用作字符串,因此无法删除 0....
致以诚挚的问候 密歇根
前导零使其成为八进制常量,就像前导
0x
使其成为十六进制常数一样。
13
产生 int
十三个。0x13
产生 int
十九个。013
产生 int
十一个。