C语言输出printf里面%*d是什么意思?

2025-04-08 10:01:58
推荐回答(1个)
回答1:

printf("%*d",a,b);其中a作为b的输出宽度控制.其实也就是*的替换功能了,正是由于*的替换功能结合%md的宽度控制,替换之后具体怎么输出的规则就和宽度控制的规则一样了.举个例子: printf("%*d",2,123);//输出为:123,相当于%2d输出的效果,因为123位数超过2,故原样输出,且为默认的右对齐.printf("%*2d",1,123);//输出应为[9个空格][123],即相当于%12d输出的效果.