请教一下八进制
我在这个网站下了电子书《C Primer Plus(第五版)中文版》和EditPlus编译器,学到第三章显示十六进制和八进制数,发现一个问题,特来求教。如下:#include <stdio.h>
int main(void)
{
int x = 0144;
printf("%X,%#x,%0,%#0,%o,%#o,\n",x,x,x,x,x,x);
printf("%0,%#0,\n",x,x); //其中0是数字0
printf("%o,%#o,\n",x,x); //其中o是小写字母o
return 0;
}
运行时显示:
64,0x64,,,144,0144
,,
144,0144
在编译器上,要显示八进制数要用%o或%#o (o是小写字母),
而在书上38页有一段话“要用八进制而不是十进制显示整数,请用%0代替%d。”
请问是书错了还是编译器错了?
我是初学者,想知道标准的C语言。请高手指教。
[ 本帖最后由 foreson 于 2010-4-8 22:54 编辑 ]