若定义:int a=8,b=5,c;执行语句c=a/b+0.4;运行后为什么c的值是1?请教哪位给出详细解答
4个回答
展开全部
你这个问题其实就是一个类型转换的问题的。
首先是你的A,B,C都是定义成了INT型。
然后在做A/B的时候得出来的结果值就是1了。然后和0.4相加的结果本来应该是1.4,但是呢,由于你把C给定义成了INT型,所以呢,只有进行四舍五入了。把0.4给舍弃掉了。所以得出来的结果就是1了。
实际上就是进行了一个隐式的类型转换的。
这种情况在实际当中一定要多注意的。稍不注意就会出错的。。
首先是你的A,B,C都是定义成了INT型。
然后在做A/B的时候得出来的结果值就是1了。然后和0.4相加的结果本来应该是1.4,但是呢,由于你把C给定义成了INT型,所以呢,只有进行四舍五入了。把0.4给舍弃掉了。所以得出来的结果就是1了。
实际上就是进行了一个隐式的类型转换的。
这种情况在实际当中一定要多注意的。稍不注意就会出错的。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
/只能用于整型数,如果除后不是整型数就自动取整,a/b就等于1,
1+0.4=1.4;而c定义是一个整型数,所以c自动取整,所以是1.
1+0.4=1.4;而c定义是一个整型数,所以c自动取整,所以是1.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为你定义的是整数型的数据,要定义float的就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询