%.2x和%10ld问题
printf("0x%.2x", tmp);请问这里的.2是什么意思?如果是%2x应该是取两位,但%.2x呢?"%.10ld"呢?
另外,有人说:
对于整数类型(%x\%d\%u等),精确度(也就是%.2x中的2)的含义和字段宽度(也就是%2x中的2)差不多,区别在于:
如果实际数字长度小于精确度的,那么则在前面补0,并且如果对应的值是0,而且精确度也是0,那么则不输出这个0,例如:
printf("%.2x",0xf);
将输出0f
printf("%0x",0);
将什么也不输出。
但问题是:这里实际数字长度是0xf,它怎么就小于精确度了?这里精确度是小数点后两位?
谢谢!