例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 請按任意鍵繼續. . .
C語言學習路線
C語言開發工具
C語言 | 用%f輸出實數