以下代码:
#include<stdio.h>
#include <conio.h>
void main()
{
printf("%f\n",345.0);
printf("%f\n",345);
printf("%f\n",345F);
getch();
}调试不成功,说:
第1个回答 2011-12-20
#include<stdio.h>
#include <conio.h>
void main()
{
printf("%f\n",345.0);
printf("%f\n",345);
printf("%f\n",345.0F);
getch();
}
后缀不会自动帮你转换,你必须给出一样类型的数值才可以,比如使用u后缀,那么写成345.0u就错误,因为345.0是实型的常量不能加u,同样345是整形的,不能加f或者F,要写成345.0f或者345.0F追问
#include <conio.h>
void main()
{
printf("%f\n",345.0);
printf("%f\n",345);
printf("%f\n",345.0F);
getch();
}
后缀不会自动帮你转换,你必须给出一样类型的数值才可以,比如使用u后缀,那么写成345.0u就错误,因为345.0是实型的常量不能加u,同样345是整形的,不能加f或者F,要写成345.0f或者345.0F追问
我在书上看到了一句这么的话:
C语言允许浮点数使用后缀。后缀为f或F即表示该数为浮点数,如345f和345.是等价的。
难道是书上说错了吗?我怀疑了
第2个回答 2011-12-20
把F去掉就行了
345F 是什么啊? 如果是 16进制 要告诉printf函数 以什么形式输出追问
345F 是什么啊? 如果是 16进制 要告诉printf函数 以什么形式输出追问
我知道去掉F都行了,只是例题上想表达的是345F和345.是一个意思,可是多打了个F有不被识别!
追答哦 是这样的
printf("%f\n",345.0f); 这样就不会出错了
f表示浮点型,但这个数字必须本身就是浮点, 345是整型, 所以编译器不识别的
恩,感觉可能是我看的教材不好。好多代码都有问题。
清华大学出版的C语言程序设计! 你知道哪个出版社的C语言好吗?我改天去图书室再换本。
C Primer 中文版(第四版) 都是挺好的....
本回答被提问者采纳