4个回答
2013-08-04
展开全部
小数点前面的是 显示字的宽度,小数位后面的指的是精度;
main(){ int a=15; float b=123.1234567; double c=12345678.1234567; char d='p'; printf("a=%d,%5d,%o,%x\n",a,a,a,a); printf("b=%f,%lf,%5.4lf,%e\n",b,b,b,b); printf("c=%lf,%f,%8.4lf\n",c,c,c); printf("d=%c,%8c\n",d,d); } 本例第七行中以四种格式输出整型变量a的值,其中“%5d ”要求输出宽度为5,而a值为15只有两位故补三个空格。 第八行中以四种格式输出实型量b的值。其中“%f”和“%lf ”格式的输出相同,说明“l”符对“f”类型无影响。“%5.4lf”指定输出宽度为5,精度为4,由于实际长度超过5故应该按实际位数输出,小数位数超过4位部分被截去。第九行输出双精度实数,“%8.4lf ”由于指定精度为4位故截去了超过4位的部分。第十行输出字符量d,其中“%8c ”指定输出宽度为8故在输出字符p之前补加7个空格。
main(){ int a=15; float b=123.1234567; double c=12345678.1234567; char d='p'; printf("a=%d,%5d,%o,%x\n",a,a,a,a); printf("b=%f,%lf,%5.4lf,%e\n",b,b,b,b); printf("c=%lf,%f,%8.4lf\n",c,c,c); printf("d=%c,%8c\n",d,d); } 本例第七行中以四种格式输出整型变量a的值,其中“%5d ”要求输出宽度为5,而a值为15只有两位故补三个空格。 第八行中以四种格式输出实型量b的值。其中“%f”和“%lf ”格式的输出相同,说明“l”符对“f”类型无影响。“%5.4lf”指定输出宽度为5,精度为4,由于实际长度超过5故应该按实际位数输出,小数位数超过4位部分被截去。第九行输出双精度实数,“%8.4lf ”由于指定精度为4位故截去了超过4位的部分。第十行输出字符量d,其中“%8c ”指定输出宽度为8故在输出字符p之前补加7个空格。
翌颖科技
2024-07-30 广告
2024-07-30 广告
Profilm 3D是翌颖科技(上海)有限公司推出的一款先进的3D打印材料。它以其卓越的打印性能、高清晰度及出色的耐久性而广受赞誉。Profilm 3D不仅适用于多种3D打印设备,还能满足各种复杂设计和项目的需求。在追求创新和质量的道路上,...
点击进入详情页
本回答由翌颖科技提供
2013-08-04
展开全部
哦。我见过%5.3f没有见过%5.3d这个是控制输出样式的。整数%md 代表输出的位数,如果实际数据不足m位时,会以空格补满,如果造过m位是显示实际的位数。比如:int n=1234,printf("%5d",n);输出: 1234,如果printf("%3d",n);输出1234.%m.nf用于控制浮点型数据,其中点后边的n控制小数位数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
要求给出字段宽度为5,并且最少整数数位是3;例如:a=12; →%5.3d 输出:a= 012;(以为要有3位数字不够的用0补足且0的前面有2个空格字符); 如果是a=123,那么输出:a= 123(前面没有空格字符);
printf("**%5d**%5.3d**%05d**%05.3d**\n", 6, 126, 6, 6);
** 6** 126**00006** 006**
printf("**%5d**%5.3d**%05d**%05.3d**\n", 6, 126, 6, 6);
** 6** 126**00006** 006**
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-04
展开全部
要求给出字段宽度为5,并且最少整数数位是3;例如:a=12; →%5.3d 输出:a= 012;(以为要有3位数字不够的用0补足且0的前面有2个空格字符); 如果是a=123,那么输出:a= 123(前面有两个空格字符);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |