私はプログラミングの初心者ですが、その理由を知りたかっただけです。
このコードを使用する場合:
#include <stdio.h>
int main()
{
double pi = 3.1415926535897932;
printf("%lf",pi);
return 0;
}
コンパイラはこの警告を出します。ISO C90は、'%lf'gnu_printf形式をサポートしていません[-Wformat]
私はubuntuターミナルでgccコンパイラを(-o -Wall -ansi -pedantic-errors)で使用しています
この背後にある理由は何ですか?Webを検索したところ、この使用はC99で許可されていることがわかりました。C90がprintfでの%lfの使用を許可しなかったのはなぜですか?%.16lfまたは%.16fを使用でき、どちらも同じ精度で印刷できます。C90で%lfが悪くなる原因は何ですか?