额,我想问的是 区别,比如/042和/42没有区别的话,那为什么前者要多加一个0?不是多此一举?
追答先有整型规定,以0开始的数是8进制。
例如:
(1)int x=045; 这里45是8进制,
printf("%d",x); -- %d 格式打印出十进制结果,当然打出的 不是 45。
(2)int x=45; 这里45是10进制,
printf("%d",x); -- %d 格式打印出十进制结果,当然打出的 是 45。
(3)
'\42' 与 '\042' 比 少1个0 -- 在这种情况下,宽容了,允许少1个0。而不是“为什么前者要多加一个0”。
可是我输出 printf("\050 \n"); 结果是<
printf("\50 \n"); 结果一样是 <
请问这个怎么回事?
查了查,\ddd中,ddd是8进制数;\xhh,hh是16进制数,没有10进制数之说。所以说\042和\42是相同的,开头写0是8进制数的习惯写法,不足3位时,加写一个0似乎也说的过去。
本回答被提问者采纳