C语言 实型常量的表示方法问题

以下代码:
#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追问

我在书上看到了一句这么的话:
C语言允许浮点数使用后缀。后缀为f或F即表示该数为浮点数,如345f和345.是等价的。
难道是书上说错了吗?我怀疑了

第2个回答  2011-12-20
把F去掉就行了
345F 是什么啊? 如果是 16进制 要告诉printf函数 以什么形式输出追问

我知道去掉F都行了,只是例题上想表达的是345F和345.是一个意思,可是多打了个F有不被识别!

追答

哦 是这样的
printf("%f\n",345.0f); 这样就不会出错了
f表示浮点型,但这个数字必须本身就是浮点, 345是整型, 所以编译器不识别的

追问

恩,感觉可能是我看的教材不好。好多代码都有问题。
清华大学出版的C语言程序设计! 你知道哪个出版社的C语言好吗?我改天去图书室再换本。

追答

C Primer 中文版(第四版) 都是挺好的....

本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网