c语言中这句中的5d什么意思?

我看到一句语句如下:printf("5d%d/n",s[1].score,p[1]->score);后面的“s[1].score,p[1]->score”我明白什么意思,... 我看到一句语句如下:
printf("5d %d/n",s[1].score,p[1]->score);
后面的“s[1].score,p[1]->score”我明白什么意思,就是5d不怎么清楚,那位大哥大姐告诉小弟下,小弟就新手~~呵呵
原程序是:
struct STU
{
char name[10];
int num;
int score;
};
main()
{
struct STU s[5]={{"yangsan",20041,703},{"lisiguo",20042,580},
{"wangyin",20043,680},{"sundan",20044,550},
{"penghua",20045,537}},*p[5],*t;
int i,j;
for(i=0;i<5;i++) p[i]=&s[i];
for(i=0;i<4;i++)
for(j=i+1;j<5;j++)
if(p[i]->score>p[j]->score)
{t=p[i];
p[i]=p[j];
p[j]=t;}
printf("5d %d\n",s[1].score,p[1]->score);
}
运行结果是:580 550
可是我运行的结果不对,这个是书上的一道题!~我就5d不明白~
展开
 我来答
匿名用户
2010-04-12
展开全部
这里的5d应该是%5d它的意思是输出s[1].score时最少占5位宽度,即如果s[1].score输出之后不足不位,那么会在左边用空格补充。

如果就是5d,那么就原样输出5d,没有特别含义。
cyj78117520
2010-04-12 · 超过19用户采纳过TA的回答
知道答主
回答量:90
采纳率:0%
帮助的人:0
展开全部
最多输出5位正数,如果不到5位 用空格填补前面的位数。

说白了就是控制输出的格式
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
261074932
2010-04-12 · TA获得超过365个赞
知道小有建树答主
回答量:305
采纳率:0%
帮助的人:154万
展开全部
接1楼,如果超过5位则有多少输出多少。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式