c语言中1除以2为什么等于0
18个回答
展开全部
你问的是1/2 ,还是1%2?
如果是1/2 ,是0,因为1和2都是整形常量,c语言默认结果为整形值,所以是0.5取整为0,c语言的取整和数学上的不一样,无论小数部分是多少都是舍弃。
如果是1%2,也是0。因为%是取余运算符。1除以2的余数,也是0.
如果是1/2 ,是0,因为1和2都是整形常量,c语言默认结果为整形值,所以是0.5取整为0,c语言的取整和数学上的不一样,无论小数部分是多少都是舍弃。
如果是1%2,也是0。因为%是取余运算符。1除以2的余数,也是0.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为,1是整形,2也是整形,所以除出来,必定要是整形(C语言里的要求),其实结果是0.5,但0.5转为整形的时候就是0,所以为0 ,如果你是1.0/2.0,那就应该会不一样啦~~ 应为1.0,2.0 都不再是整形,额,C好久没接触了,嘎嘎
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
c语言中除的时候,只取其整数部分,1除以2整数部分为0,所以取0,取余的时候结果为1……
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1除2得到的本应该是0.5 ,但是由于除数和被除数都为int 类型,则.5部分就被省去,只剩下前面的0了。试试将1 2作为float类型的变量,再做除法,看看结果~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询