小编epo*_*khe的帖子

C90不允许在printf中使用%lf,为什么?

我是初学者编程学生,只是想了解这背后的原因.

当我使用这段代码时:

#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

12
推荐指数
2
解决办法
5984
查看次数

标签 统计

c ×1