问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c语言中,输出函数中的%-4d是什么意思52

发布网友 发布时间:2023-10-12 14:30

我来回答

5个回答

热心网友 时间:2024-10-21 12:49

%-4d是用于C语言输出的格式字符串,可以用于printf类函数,包括printf, sprintf, fprintf,vfprintf,vprintf,vsprintf,snprintf,vsnprintf,vasprintf等等。

各种函数中的含义是相同的,都是按照10进制形式输出整数值,输出值范围如果不足4列宽度,那么按4列宽度输出,否则按实际宽度输出。 输出结果数值在左侧,右侧用空格补足。

%-4d的四个字符每个都有各自的功能,具体如下:

1 %:格式字符串的引导标识,每个格式字符串必须以%开头。

2 -: 输出的内容左侧为有效数据,右侧为补足字符。

3 4:输出占4列宽度,不足用空格补齐,超出按实际长度输出。

4 d: 按照10进制整型输出。


下面这个例子输出两行数据,每行五个数值:

#include <stdio.h>
int main()
{
printf("%-4d%-4d%-4d%-4d%-4d\n",1,12,123,123412,12345);
printf("%-4d%-4d%-4d%-4d%-4d\n",23,123,2341,1,123456);

return 0;
}

输出结果为

1   12  123 12341212345
23  123 23411   123456

从中可以看到其作用及缺陷。

对于低于4位的整数,可以很好的实现输出及对齐效果,比如例子中的第一列和第二列。

如果输出位数为4位,那么输出值和下一个输出间不会有分隔符,比如第二行的3 4两列,本来是2341和1,但输出的效果是一个数23411。

当数值超过4位时对齐效果会被打乱,同时与下一个输出见没有间隔。

比如第一行的第四列,输出数值为123412,与下一个12345没有分隔,同时第五列的12345本应与第二行的123456左对齐,但由于123412侵占了该位置,导致二者无法达成对齐效果。


所以%-4d这类格式输出,仅使用与数据规模在四位数以下的情况,超出则会出错。

如果在数据中存在负值,则负值仅可以为三位数或以下,因为输出的符号也同样会占一列宽度。

热心网友 时间:2024-10-21 12:49

%d是输出整数,中间的-4是指输出占用4个字符宽度,如果实际输出不足4位则右补空格,否则按实际宽度输出,如果去掉负号写成%4d,就是左补空格,其余含意一致。

热心网友 时间:2024-10-21 12:50

4代表输出4个字符 -代表左对齐的意思

#include<stdio.h>
void main()
{int m,n;
for(m=1;m<=9;m++)
{for(n=1;n<=9;n++)
printf("%1d*%1d=%-4d",m,n,m*n);

printf("\n");
}
}
用这个程序理解一下^ ^追问那右对齐呢〜

追答以字符为对象,默认是右对齐

热心网友 时间:2024-10-21 12:50

按 整型 输出, 占4个字符宽, 数字左对齐
如 输出 1,22,344,5555,效果如下
1   <其它输出>
22  <其它输出>
344 <其它输出> 
5555<其它输出>

热心网友 时间:2024-10-21 12:51

与应用于
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
以后再也不会买vivo质量太差了!才买来的都是卡死,两千多的手机就... 17寸显示器 部分网页右侧看不到 无法显示 猎豹手机浏览器使用百度搜索为何经常白屏,只要点网址导航页的百度,就很... 用什么浏览器都放不出视频是怎么回事,会出现白屏一闪一闪的,时而又五颜... 在使用猎豹浏览器打开一个新标签时突然白屏,然后恢复正常 食品可否退换货 换了主板后,开机只有CPU风扇在转,进不了系统没有"嘀"声显示器没反应 CP... ...又没有发票怎么办了 我是用微信付款的 我该怎么投诉了 ...话多交多得,但以我爸为例,57 岁,交3年可领养老金 眉山城镇社保按1.0缴费退休多少钱? LRD -60电流互感器的D是什么意思2 电流互感器lrd lrb的区别是什么3 手机也跟着学外语英语怎么说 我从手机上想学外语,如何呢? 我生病了同学看望我我给他们写封信的英语作文 这首歌名的翻译和歌曲的意思?Slave2The Rhythm...17 我有一个了,还想再申请一个微信账号,怎么申请呢? 突然变成未注册 中国银行2张信用卡额度不一样怎么理解?3 求MJ的slave to the rhythm无损或320 原版西游记中经典台词5 歌手降央卓玛已经结婚了吗?21 西游记经典台词82 歌手春天长的太美了,请问她结婚了吗?3 ben marcato 是什么意思 他人即地狱什么意思 如何理解他人即地狱 突然变成未注册又注册了 工商银行如何查询详细清单25 是什么东西?微信帐号又是什么东西?两者有什么又同?把我...3 克苏鲁神话森之黑山羊是什么 电力系统中LRD是什么?LRD-220-B 600&#47;5A 6...1 十二月初去哈尔滨有推荐的景点吗3 ...半部分是美娱的小说。男主是圈外人,女主先是演员,后来转型导演,最后... 这枚至正通宝蒙文古币价值多少?有谁想收藏? 填成语:目无()牛12 内地与澳门关于建立更紧密经贸关系的安排的《补充协议三》(20... 原版西游记中经典台词5 成语填空 不()之() ()不()道 ()目()光 ()无(... 《西游记》金角大王,银角大王。读后感?11 印度电影 难以置信的爱 手表里播放的歌曲1 人生如何不虚度?6 重生或穿越到金庸小说的,好像是神雕?到少林寺是个和尚 女生30岁以后,就都不值钱了吗?2 iPad mini2&#47;3分别是什么时候上市的啊4 c语言中的%4d是什么意思?1055 两根电线对接法图解是怎样的?12 电线有几种接法9 五次擦燃火柴分别看到了什么 如何把设置成自己的手机号?343 怎么把改成手机号1