|
发表于 2021-8-27 12:23:38
|
显示全部楼层
在我这边 long double 没问题,但是 double 什么都不显示
- $ cat main.c
- #include<stdio.h>
- int main()
- {
- int r;
- long double c,s;
- r=5;
- c=2*3.14*r;
- s=3.14*r*r;
- printf("c=%6.2Lf,s=%6.2Lf",c,s);
- return 0;
- }
- $ gcc -g -Wall -o main main.c
- $ ./main
- c= 31.40,s= 78.50$ vim main.c
- $ cat main.c
- #include<stdio.h>
- int main()
- {
- int r;
- double c,s;
- r=5;
- c=2*3.14*r;
- s=3.14*r*r;
- printf("c=%6.2Lf,s=%6.2Lf",c,s);
- return 0;
- }
- $ gcc -g -Wall -o main main.c
- main.c: In function ‘main’:
- main.c:10:20: warning: format ‘%Lf’ expects argument of type ‘long double’, but argument 2 has type ‘double’ [-Wformat=]
- 10 | printf("c=%6.2Lf,s=%6.2Lf",c,s);
- | ~~~~~^ ~
- | | |
- | long double double
- | %6.2f
- main.c:10:29: warning: format ‘%Lf’ expects argument of type ‘long double’, but argument 3 has type ‘double’ [-Wformat=]
- 10 | printf("c=%6.2Lf,s=%6.2Lf",c,s);
- | ~~~~~^ ~
- | | |
- | | double
- | long double
- | %6.2f
- $ ./main
- $
复制代码 |
|