我需要分开01234567的数字并为此做一些操作。我有问题因为0。
int num=01234567;
printf("%d,num);
为什么结果是342397而不是01234567?
答案 0 :(得分:1)
前导0
表示该号码位于octal format。
请记住,内部表示中不存在前导零,代码中的任何数字通常都会呈现为二进制值,从而丢弃可能已应用的任何格式。 2.000000
变为2
,0000001
变为1
。
如果您想要以人类可读的形式格式化为特定数量的地方,您可以随时选择加入零填充:
printf("%08d\n", 1234567);