我想这个简单的C程序来划分数..简单的C程序将一些
void main()
{
int i,j,k;
i=00126;
j=2;
k=i/j;
printf("%d",k);
}
它显示输出为43,而不是63 ..如果我把另一0作为
i=000126;
现在我收到错误为非法的八进制数字。
如果我想
i=00000001000;
它不显示任何错误,并给出结果作为256..I无法理解这个意外的输出。任何人都可以说为什么它会产生这样的产出?
明确的解释将不胜感激。
编辑:如果我试图
int i,j,k;
i=1000;
j=0002;
k=i/j;
printf("%d",k); //which gives 500 as result
你想做什么?除八进制还是整数?你不能有前导零... – 2013-02-08 12:41:40
如果你开始你的数字为零,他们是八进制。 126 oct = 86 dec。 – ElPaco 2013-02-08 12:42:23
i = 00000001000;可能是i = 0b000001000; ?你的编译器是什么? – 2013-02-08 12:48:23