会C的进来看下
发布网友
发布时间:2024-10-20 06:22
我来回答
共5个回答
热心网友
时间:2024-11-15 22:17
5/2这样的写法被认为是整数的除法,得出来的是5除以2的商,等于2
所以
x=5/2;相当于x=2;
y=5/2*1.0;相当于y=2*1.0;
x=1.0*5/2;
这句先算了1.0*5,得出个浮点数,再/2就能认为是浮点数的除法了。
这时x变为2.5
z从始至终没被赋值,所以输出0的浮点数。
热心网友
时间:2024-11-15 22:17
5/2这样的写法被认为是整数的除法,得出来的是5除以2的商,等于2
所以
x=5/2;相当于x=2;
y=5/2*1.0;相当于y=2*1.0;
x=1.0*5/2;
这句先算了1.0*5,得出个浮点数,再/2就能认为是浮点数的除法了。
这时x变为2.5
z从始至终没被赋值,所以输出0的浮点数。
回答者:水晶糊涂心 - 见习魔法师 二级 11-23 21:03
同意
热心网友
时间:2024-11-15 22:18
#include "stdio.h"
main()
{float x,y,z;
x=5/2; /*x为float类型,*/
y=5/2*1.0; /*先算5/2取整得2,2*1.0=2.000000*/
x=1.0*5/2; /*此处 x 应该是 z 吧,*/
printf("x=%f ",x);
printf("y=%f ",y);
printf("z=%f\n",z); /*z没有赋值,系统默认为0.000000*/
}
/*建议求浮点数时,最好将参与运算的整数加“.0”,这样不会错*/
热心网友
时间:2024-11-15 22:18
输出结果应该是这个吧?!x=2.500000 y=2.000000 z=-107374176.000000
建议你上机运行一下.
热心网友
时间:2024-11-15 22:19
按你运算 加上括号试试