但输出的时候
例如 printf("%o\n",10); 开头则不加0
因为%O已经是你让系统输出8进制数,省去了0
例如 printf("%o\n",10); 开头则不加0
因为%O已经是你让系统输出8进制数,省去了0

2007-08-05 16:47
前面说的比较零散,在此总结一下
在输入整形数据的时候一定要表示清楚是8,10还是16进制
该加0还是加0X由整数的表现形式而定
但无论你输入的是什么进制的整数,在内存之中都是以2进制的形式存储的
然后在输出的时候是由格式控制说明符来决定的
即%O说明编程者希望系统输出的数为8进制的,然后他就会输出8进制的数给你看,但不会加0,因为系统默认编程者已经知道这个数是8进制的。
此外,在输出函数中是输出参数中如果是整形常量的话,其表示形式也一定要分清。

2007-08-05 17:01