c语言基础问题~师兄师姐拜托你们了!!

来源:百度知道 编辑:UC知道 时间:2024/05/14 03:36:06
#include<stdio.h>
void main()
{
char c1,c2;
int d;
float n;
c1='D';
c2='A';
d=c1-c2;
n=d;
printf("%c%c%d%3.2f\n",c1,c2,d,n);
}

最后面得到n为3.00,但是它的宽度并不为3啊~~?!为什么。。。。不懂。。。

%3.2f指的是为数一共有三位 小数部分占两位 也就是小数点后有两位n=d=D-A的数值 =3 但n是浮点型的 小数点后本应该是6位 但要求是要两位的 所以就是3.00了

关于宽度是:m大于实际宽度则,则以m为准.
若m小于实际宽度则以实际为准.
float变量不要用m来限制他的精确度的

因为后面的n用”3.2f”来显示答案,所以你最后得到的答案就是3.00

其中的小数点也算一位

对于格式符为%f的,整数部分必须全部输出.%3.2,说明,小数部分必须有2位,再加上整数3,所以输出的就是3.00了.