float f=3.1415927; printf("%3.3f",f) 结果 多少啊
4个回答
展开全部
1、%m.n中的m代表将要输出的数的列数,其中也包括小数点,n代表小数点后面输出的位数;
2、当加了n后,如果实际列数小于m,则当m大于0时采取左侧补空格的形式,小于0就采取右侧补空格。比如printf("xyz%8.3f",f); 由于实际输出列数小于8,所以就会左侧补3个空格输出 xyz 3.142
(上面这个数连同小数点共占了5列,没有达到8)
3、当n的值连同它前面的整数位数包括1个小数点的和大于等于m时就会忽略掉m,按照要求输出。在该问题中由于n为3,而3.1415927中整数有1个,加上小数点共2个,再加上n的值3因此和为5,大于此问题中的m,所以就会忽略m输出 3.142 。
再就是在C语言中你说的有效位数是指的所有位数,不是指小数点后面的位数。还有输出的时候系统会自动采取四舍五入的方式进行,所以会输出3.142而不是3.141
2、当加了n后,如果实际列数小于m,则当m大于0时采取左侧补空格的形式,小于0就采取右侧补空格。比如printf("xyz%8.3f",f); 由于实际输出列数小于8,所以就会左侧补3个空格输出 xyz 3.142
(上面这个数连同小数点共占了5列,没有达到8)
3、当n的值连同它前面的整数位数包括1个小数点的和大于等于m时就会忽略掉m,按照要求输出。在该问题中由于n为3,而3.1415927中整数有1个,加上小数点共2个,再加上n的值3因此和为5,大于此问题中的m,所以就会忽略m输出 3.142 。
再就是在C语言中你说的有效位数是指的所有位数,不是指小数点后面的位数。还有输出的时候系统会自动采取四舍五入的方式进行,所以会输出3.142而不是3.141
展开全部
3.142...........你以后应该上机试试,不要动不动就问。这样才能学到东西。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
3.142
小数点后会四舍五入的
小数点后会四舍五入的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
3.141
更多追问追答
追问
那个3.3不是代表3个有效数 和小数点后3位吗
可你这个4个有效数啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询