我是初学者编程学生,只是想了解这背后的原因.
当我使用这段代码时:
#include <stdio.h>
int main()
{
double pi = 3.1415926535897932;
printf("%lf",pi);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
编译器发出此警告.ISO C90不支持'%lf'gnu_printf格式[-Wformat]
我在ubuntu终端使用gcc编译器(-o -Wall -ansi -pedantic-errors)
这背后的原因是什么?我搜索了网页,发现在C99中允许使用.为什么C90不允许在printf中使用%lf?我可以使用%.16lf或%.16f并且都以相同的精度打印,那么在C90中导致%lf坏的问题是什么?
c ×1