C语言中printf里的d%是什么意思?

 我来答
勾遐思局绫
2019-02-04 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.3万
采纳率:29%
帮助的人:681万
展开全部
printf中的%*d的意思是输出*个宽度的%d(整形)。
例子:
a=5;
b=6;
printf("%*d",a,b);
其中,a代表*,即%5d,格式化输出5个宽度的整形b。
最后输出的结果为

6.即[4个空格][6].
扩展内容:
printf()函数:
printf()函数是格式化输出函数,
一般用于向标准输出设备按规定格式输出信息。
printf()函数的调用格式为:
printf("<格式化字符串>",
<参量表>)。
其中式样化字符串包括两部分内容:
一部分是正常字符,
这些字符将按原样输出;另一部分是式样化规定字符,
以"%"开端,
后跟一个或几个规定字符,
用来确定输出内容式样。
参量表是需求输出的一系列参数,
其个数务必与式样化字符串所阐明的输出参数个数一样多,
各参数之间用","分开,
且顺序逐一对应,
不然将会出现意想不到的过失。
格式输出,它是c语言中产生格式化输出的函数(在
stdio.h
中定义)。用于向终端(显示器、控制台等)输出字符。格式控制由要输出的文字和数据格式说明组成。要输出的文字除了可以使用字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义。
资料参考:printf函数
-
百科
繁秀荣竹子
2020-01-02 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.4万
采纳率:34%
帮助的人:927万
展开全部
不是
printf("%3d",a,b);的意思是输出的数占三个宽度
但是输出列表有a,b两个数而已
宽度就是3不是a的值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
顾北清歌寒123
2020-04-02 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.2万
采纳率:30%
帮助的人:906万
展开全部
楼主好像已经知道了这个问题的答案了吧.
printf("%*d",a,b);其中a作为b的输出宽度控制.
其实也就是*的替换功能了,正是由于*的替换功能结合%md的宽度控制,替换之后具体怎么输出的规则就和宽度控制的规则一样了.
举个例子:
printf("%*d",2,123);//输出为:123,相当于%2d输出的效果,因为123位数超过2,故原样输出,且为默认的右对齐.
printf("%*2d",1,123);//输出应为[7的空格][123],即相当于%12d输出的效果.
欢迎交流.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
符元绿童书
2019-02-25 · TA获得超过3万个赞
知道大有可为答主
回答量:9554
采纳率:34%
帮助的人:867万
展开全部
C语言中printf里的%d是输出
int
型数据的格式符。
在scanf()函数里也是如此。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
绪良糜春
2019-05-05 · TA获得超过3.7万个赞
知道小有建树答主
回答量:1.3万
采纳率:33%
帮助的人:764万
展开全部
在printf可以这样理解*被替换成printf("%*d",number,var);中的number,然后按照printf("%number
d"10);来格式化输出数据,看代码:
#include
void main()
{
printf("000000123450000000\n");
printf("1=%d,2=%*d,3=%d\n",1,5,3,3);
return;
}
从图中可以看出输出
了5个空格。
补充:在scanf中其表示忽略该输入
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式