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不明白~ 展开
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不明白~ 展开
3个回答
2010-04-12
展开全部
这里的5d应该是%5d它的意思是输出s[1].score时最少占5位宽度,即如果s[1].score输出之后不足不位,那么会在左边用空格补充。
如果就是5d,那么就原样输出5d,没有特别含义。
如果就是5d,那么就原样输出5d,没有特别含义。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询