...1\/3);输出的是0.000000,而printf("%f",1.0\/3.0);输出的是0.333333...
C语言中的整数除法规则是返回结果的整数部分,比如1\/3 = 0.3333333 整数部分是0,所以 1\/3=0 4\/3 = 1.3333333 整数部分是1,所以 4\/3=1 而浮点数和double则是返回带小数部分的结果。
C语言 三分之一为什么输出0
1\/3默认1和3都是int型的,1除以3商为0
在C++中计算1除以三再乘以三 会怎么样?
{ printf("%f",1\/3.0*3);} 这样的结果就是1.000000了。原因是1\/0.3的结果为0.333333,一个int值被一个float值除的结果会是一个float的值。再乘以一个int值结果也为float值。但是你将printf语句中的输出类型改成%d的话,结果依然会是0。因为,实际计算时候,产生了精度损失,使得实际结果小...
书上有一个例题1.0\/3.0*3.0==1.0,当我用%f输出时值为1.000000,用%d输出...
这个和精度损失没有关系关键在printf()输出的时候没有考虑到数据类型转换的问题printf("%d",1.0\/3.0*3.0)计算的1.0\/3.0*3.0是浮点数1.0它在内存是以这样的形式储存的:00111111 11000000 00000000 00000000以4字节表示而printf()输出的时候并不以为自己要输出一个浮点数,而是把上面的后2字节...
c语言,为什么输出是零
应该输入y = 1.0\/3才能得到你想要的结果 y=1\/2中,1和3都是int型,运算后的结果也是int型,所以显示为0 y=1.0\/2中,1.0为浮点型,所以运算后~~~你懂的 0.5
为什么在C语言程序中计算1.0\/3.0*3结果不是1
1.0\/3.0在c语言中结果是0.3333333,那个3不是无穷的,是受限制的,所以乘以3后,不是1,而是0.9999999
C语言中进行浮点数的运算为什么1.0\/3.0*3不等于一??
先进行1除以3除不尽..有小数只是0.3333333333再*3得不到1的!!!
c语言 向浮点型变量里输入整型数据
不一样滴,虽然你输入的是%d,但是当存到a,b,c里面以后值就变了,因为float占4个字节,整型占2个字节,存的时候会出现错误,
C语言中,1\/3等于多少? 1%3等于多少?
在C语言中,1\/3=0,1%3=1 因为C语言中如果除数和被除数都是整数(分母不为0),那么C语言就仅取计算结果的整数部分,注意,不是4舍5入,而是直接舍弃,如19\/10=1,而不是1.9,也不是2,如果要计算1\/3,得到浮点数,一般采取1.0\/3或1\/3.0 对于第二个1%3,就是求1除以3的余数,当然是...
C++问题:cout<<1\/3;结果是0,有办法输出0.3333吗
把1和3中的任意一个数改正为1.0 或者3.0就可以了,当然和楼上说的强制转换是一个意思,他们的绝对都对