C语言中%-4d%是什么意思

printf("%-4d%,%4d\n",a,a),是指保留百分号的意思吗... printf("%-4d%,%4d\n",a,a),是指保留百分号的意思吗 展开
 我来答
风若远去何人留
推荐于2020-02-14 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450132
专业C/C++软件开发

向TA提问 私信TA
展开全部

这些是用于格式化输出语句中的格式化字符串。

C语言的格式化输出语句包括printf, sprintf, wsprintf, vsprintf, vprintf, fprintf等,在这类函数调用时,都会传一个格式化字符串,其中可以包含各种格式化字符。每种对应一类变量类型。

%d对应整型(int),即当格式化字符串中出现了%d时,后续的参数对应位置应为int型变量,如果不是,将会强制转换为int型。

于是%d的功能就是输出一个整型的数值。

%nd的形式,其中n为一个数字,比如%4d,%5d等,代表输出占用n个字节的空间。

当实际输出数字需要的空间大于n时,以实际空间为准。否则输出n个字节空间,不足部分用空格在左侧补齐。


比如

printf("%4d", 12);

会输出

  12

即先输出两个空格,再输出12。


而如果是printf("%4d", 12345);

由于12345占五位,超过了4的限制,所以会输出本身值12345,没有任何空格填补。

cylz0703
2019-02-03 · TA获得超过3.4万个赞
知道大有可为答主
回答量:1.8万
采纳率:83%
帮助的人:4459万
展开全部
在printf("%-4d%,%4d\n",a,a);中,"%-4d%"后面的%符号会被忽略,什么也不会输出,比如:
int a=10;
printf("%-4d%,%4d\n",a,a);
的结果是10 , 10
要输出字符%,需要改为printf("%-4d%%,%4d\n",a,a);
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友87f7de6d28d
2013-10-19
知道答主
回答量:8
采纳率:0%
帮助的人:5.7万
展开全部
d(或i)格式符。用来输出十进制整数,有以下几种用法:
①%d,按整型数据的实际长度输出。
②%md,m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。
③%ld(%mld 也可),输出长整型数据。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
火车上的仰望
2013-10-19 · 超过13用户采纳过TA的回答
知道答主
回答量:62
采纳率:0%
帮助的人:40.8万
展开全部
格式控制,指输出数据的格式,例%d是以十进制格式输出,%c是以字符形式输出。
这里的%4d,%5d都是指以十进制形式输出。中间的4和5说明输出数据的宽度,例如果输出的数据位123456,则当时%4d时,输出1234,%5d时输出12345.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-10-20
展开全部
表示输出的有效位数不同,前者输出占4列,后者5列。未达到的数在左端补空格输出,超过列数,原样输出。比如:输出的是5,前者的样子是 5,后者的样子是 5;若输出500000,则都是输出500000
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式