顺便聊一下C语言实现用%f控制符输出6位小数 | 源码+注释

例4:C语言实现用%f输出实数,且只能得到6位小数

解题思路:不指定输出数据的长度,由系统根据数据的实际情况决定数据所占的列数。系统处理的方法一般是:实数中的整数部分全部输出,小数部分输出6位。

源代码演示:

#include<stdio.h>//头文件 
int main() //主函数 
{
  double double_temp,temp;//定义双精度浮点型变量
  double_temp=1.0;//初始化double_temp
  temp=double_temp/3;//将double_temp除以3得到得结果赋值给temp 
  printf("%f\n",temp);//输出temp 
  return 0;//函数返回值为0 
}

编译结果:

0.333333

--------------------------------
Process exited after 0.074 seconds with return value 0
请按任意键继续. . .

在上述代码中,虽然double_temp是双精度型,double_temp/3的结果也是双精度,但是用%f格式声明只能输出6位小数。

这里也可以用%m.nf指定数据宽度和小数位数。

在C语言中,/ 是除,如果是整数相除,只取整数部分,没有四舍五入之类的;%是取模,即取除法的余数。

如果取模发现被除数比除数小,比如:

#include<stdio.h>//头文件 
int main() //主函数 
{
  printf("%d",2%5); 
}

%的结果是商为0余2 ,输出如下:

2
--------------------------------
Process exited after 1.792 seconds with return value 0
请按任意键继续. . .

大白话就是在求模时,如果被除数比除数小,输出的值则是被除数本身。

更多案例可以go微信公众号:C语言入门到精通,作者:闫小林

正文完