我是一个初学者编程学生,只是想了解这背后的原因。
当我使用此代码时:
#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)
这背后的原因是什么?我搜索了网页,发现在 C99 中允许使用这种用法。为什么 C90 不允许在 printf 中使用 %lf?我可以使用 %.16lf 或 %.16f 并以相同的精度打印,那么在 C90 中导致 %lf 不好的问题是什么?