%5.2在C语言中表示什么意思

如题所述

你说的应该是printf函数吧:
通俗的说%m.n中m标示宽度,n标示小数点后显示几位。你的就是显示5个宽度,其中显示2位小数。
如果你想了解详细和根本的,看下面的(来自百度文库):
int printf(const char *format,[argument]);
format 参数输出的格式,定义格式为:%[flags][width][.perc][F|N|h|l]type
2.flags 规定输出格式,取值和含义如下:
无 右对齐,左边填充0和空格
- 左对齐,右边填充空格
+ 在数字前增加符号 + 或 -
0 将输出的前面补上0,直到占满指定列宽为止(不可以搭配使用-)
空格 输出值为正时冠以空格,为负时冠以负号
# 当type=c,s,d,i,u时没有影响
type=o,x,X时,分别在数值前增加'0',"0x","0X"
type=e,E,f时,总是使用小数点
type=g,G时,除了数值为0外总是显示小数点
3.width 用于控制显示数值的宽度,取值和含义如下
n(n=1,2,3...) 宽度至少为n位,不够以空格填充
0n(n=1,2,3...) 宽度至少为n位,不够左边以0填充
* 格式列表中,下一个参数还是width
4.prec 用于控制小数点后面的位数,取值和含义如下:
无 按缺省精度显示
0 当type=d,i,o,u,x时,没有影响
type=e,E,f时,不显示小数点
n(n=1,2,3...) 当type=e,E,f时表示的最大小数位数
type=其他,表示显示的最大宽度
.* 格式列表中,下一个参数还是width
希望有用。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-12-24
2473,分别对应ascii“50,52,55,51”,你的swich语句写的不对,请修改成
#include<stdio.h>
main()
{int
c;
while((c=getchar())!='\n')
{switch(c-'2')
{case
0:;break;
case
1:putchar(c+4);break;
case
2:putchar(c+4);break;
case
3:putchar(c+3);break;
default:putchar(c+2);break;
}
}
printf("\n");
}
如果把switch中的purtchar语句全部改成与printf("%d",c+i),i是你定义加几的数值,例如4就填4,
你输出2473后,就会出来56,59,55数值,与你要算出的结果一致。
第2个回答  2019-02-06
‘2’
对应的10进制是50
getchar有一个int型的返回值.
你把c来接受这个返回值
getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1
第3个回答  推荐于2017-11-25
%5.2f
小数点前面的数字表示输出列数
数字位数大于它时,按实际位数输出,小数点前空缺也是
小数点后面的数字表示输出的小数点位数,如果位数不够显示就会在后面补0.本回答被网友采纳
第4个回答  2013-03-29
输出时保留两位小数

#include<stdio.h>
int main()
{
float a;
scanf("%f",&a);
printf("%5.2f\n",a);

return 0;
}
输入:100
输出:100.00
相似回答