这个题的值是多少
大家好,我有个C语言的问题不会,还请大家指教有个题是这样的
下列程序段正确的输出结果是()
float a=1111111.111;
float b=7777777.777;
float c;
c=a+b;
printf("c=%f",c);
请说明原因
对于这个问题我们要注意在float类型中的精度只有7位包括好像小数点要占一个精度,他在计算机中存储的时候如果是7位精度不能表示的时候比如上面的a值那么a=1.11111e+006会发生四舍五入。所以最后输出的!!结果中只有小数点前面的是精确的,后面的都是不精确的是随机值!!我的在vc中输出——c=8888889.12500
至于说%m.nf输出格式表示的是输出m个宽度的值,其中小数点占据一个宽度,n表示3位小数占宽度!! 例如%10.3f表示输出的数占据10个宽度其中有3位小数!!但是如果要输出的数值实际宽度超过了m那么 就会按照实际宽度输出!!!