关于浮点型数据的
本帖最后由 firewater 于 2014-7-29 09:50 编辑#include "stdio.h"
void main (){
printf("%f\n",1.0/3*3); printf("%f\n",3/2);
printf("%f\n",1/3*3); }
运行后的结果:1.000000
0.000000
0.000000
这是为什么
换个代码#include "stdio.h"
void main () {
double a,b,c;
a=1.0/3*3;
b=3/2;
c=1/3*3;
printf("%f\n",a);
printf("%f\n",b);
printf("%f\n",c);
}
结果为:1.000000
1.000000
0.000000
我排好了板啊,怎么乱了
#include <stdio.h>
int main( ){
double a,b,c;
a=(1.6/7.0)*9.0;
b=3.0/2.0;
c=(1.0/3.0)*3.0;
printf("a=%lf b=%lf c=%lf\n",a,b,c);
return 0;
}
[\b] 额,
#include "stdio.h"
void main ()
{
printf("%f\n",1.0/3*3);浮点型跟整型运算结果应该是浮点型
printf("%f\n",3/2); 整型跟整型运算结果是整型(同下)
printf("%f\n",1/3*3); }
运行后的结果:1.000000
0.000000
0.000000
至于下面那个
#include "stdio.h"
void main ()
{
double a,b,c;
a=1.0/3*3;
b=3/2; 你这里虽然声明是浮点型,但计算结果是整型,而且结果小于1,所以b被赋值为零,同下
c=1/3*3;
printf("%f\n",a);
printf("%f\n",b);
printf("%f\n",c);
}
结果为:1.000000
1.000000
0.000000 本帖最后由 firewater 于 2014-7-29 18:29 编辑
超级无敌侠客3 发表于 2014-7-29 11:25
额,
#include "stdio.h"
void main ()
那声明了变量不是没用,%f是以浮点型输出啊,如果我改成我把数字全改成浮点型,无论是整型还是浮点型都可输出正确答案吧
超级无敌侠客3 发表于 2014-7-29 11:25
额,
#include "stdio.h"
void main ()
应该是c值被赋为0吧 因为数据类型不对。。:lol: 『浴火凤凰』 发表于 2014-7-29 20:52
因为数据类型不对。。
我还没学习下一章呢,昨天看了一下,书上有介绍
页:
[1]