请问这个要求输出八进制,为什么答案不是0256,0400,而是256,400呢
如果要输出4位的话可以写成%.4o,表示输出的字符长度为4;
你用%o输出,就说明输出的是八进制,他不会输出的时候给你表明是八进制
机器读的都是二进制的机器码,以十六进制存入地址,他读的时候也是读十六进制的数,格式化输出八进制,他就会给你转换成八进制的数输出
那个0256中的0只是给机器一个指令,让机器明白这是一个八进制的数,存进去该怎么存还是怎么存,它输出的时候可不会给你说明是几进制,你要判断就得看是以什么格式输出的
#include <stdio.h>
#include <stdlib.h>
int main()
{
int m = 0256,n = 256;
printf("%.4o %.4o",m,n);
return 0;
}