请问C语言中“%#10d”是什么意思?

如题所述

(1)
"%#10d" 一个字符串常量。
例如
char fmt[]="%#10d"; // 给fmt初始化一个字符串常量,内容是 %#10d
strcpy(fmt,"%#10d"); // 复制 字符串常量 给 fmt

(2)格式语句:
# 在 d 格式 里是多余的,在 o,x,等格式 里有用。
int k = 1234;
printf("%#10d",k); 输出:白白白白白白1234
按十进制整形输出k,占10位子。 # 无用,是多余的,%10d 里 10是输出“场宽",占10位子.d 十进制整形

# 若用在 八进制输出,16进制输出:
int k =127;
printf("%#o",k); // 输出八进制: 0177
printf("%#x",k); // 输出16进制: 0x7f
八进制 打头的 0,16进制打头的 0x ,因为有 #号, 自动添加。

printf("%#08x\n",k); // 输出16进制,有打头的 0x,场宽8位,不足8位加0
输出: 0x00007f -- 0x占了2位,数7f 占了2位,补4个0。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-03-20
“%#10d“中表示的是10表示的从右往左开始写数,总共10位,多出的位数由空格代替,如果想改为从左向右,可以改成%-10d;

#表示的是输出进制的问题,默认为10进制,比如”%#od“则表示以8进制输出..
第2个回答  2010-03-20
%10d是表示第十位开始写数 比如输出1 %d:1
%10d: 1
那个井号我就不清楚了
相似回答