簡體   English   中英

C語言中%lg的含義

[英]The meaning of %lg in C language

我不知道“輸出結果是 %lg”這句話是什么意思。 我嘗試在printf使用%lg而不是%lf ,如下所示:

double a;
scanf("%lf",&a);
.....
printf("%lg",a);
return 0;

printf 的%lg要么具有未定義的行為(C89),要么表現得像%g (C99)。

  • 永遠不要使用%lg進行打印,使用g轉換說明符而不使用l來打印double 由於默認參數提升, %g也可用於打印float s。

對於fscanf ,帶有浮點格式的l意味着參數的類型是double而不是float 由於所有浮點修飾符都接受所有相同的格式,因此習慣上使用%lf因為它的行為與scanf系列中的%lg完全相同。

  • 掃描雙%lg時,更喜歡%lf不是%lg

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM