c语言 请帮个忙

来源:百度知道 编辑:UC知道 时间:2024/04/28 13:29:48
程序的结果是4.000000 可是我算成了4.500000 我是这样算的u=5/3+2*4.5/3.0+1/2 谁能给我讲解一下
谢谢

你算成4.5是说明你对“/”这个符号没有理解,“/”这个符号是取整的意思,也就是说当“/”两边都是int型的数的时候,那么他的结果也应该是int型,比如1/2,从数学上说应该等于0.5,但是在C语言中就取它的整数部分,所以答案为0,但是还有一点要说明,就是当“/”的两边中其中一边不是int型,而是float或double型的话,那么它的结果也应该是float或double型。比如1.0/2,可以看出1.0是float型,2是int型,所以答案是float型,所以此时答案是0.5,现在来看看你的题,u=5/3+2*4.5/3.0+1/2中,5/3=1,1/2=0,但是2*4.5/3.0应该等于3.000000,这点不知道你是否明白,不明白就是我上面没说清楚了,呵呵,那么加起来就是4.000000了,这道题就是这样的

当然4.000000了。5/3=1。 2*4.5/3.0=3。 1/2=0
u=1+3+0=4

u是int型的,加完是4.5,但u还是等于4,最后输出4

5/3=1.0 2*4.5/3.0=3.0 1/2 =0
要先算4.5/3.0=1.5,再乘以2就等于3了

这不就是4吗~~~

楼主请看~~

1/2 是 0 啊~~~~~~

看的是被除数的类型……