小伊布 发表于 2020-5-9 21:18:39

第十课 - 逻辑运算符

请说明逻辑与(&&)在下边表达式中起到的重要作用
        count != 0 && sum/count
答:该表达式使用逻辑与(&&)来确保 sum/count 的除数不为 0。

我的疑惑:count不为0,假设count = 2,sum = 1,sum/count除数是0,怎么确保除数不为0?

qiuyouzhi 发表于 2020-5-9 21:21:15

???
1/2,除数为0????

永恒的蓝色梦想 发表于 2020-5-9 21:22:47

qiuyouzhi 发表于 2020-5-9 21:21
???
1/2,除数为0????

我也想知道这个问题

小伊布 发表于 2020-5-9 21:38:58

qiuyouzhi 发表于 2020-5-9 21:21
???
1/2,除数为0????

c语言,整数相除去掉小数,1/2可不就是0

chxchxkkk 发表于 2020-5-9 21:40:31

不明白你想问的是什么,count != 0 就确保了除数不为0,是因为除数不能为0。sum / count 是得数,是不是0没啥关系

sunrise085 发表于 2020-5-9 21:44:03

若count为0,那么逻辑与&&的第一部分 count != 0结果位假,不再执行第二部分,也就不会出现除数为0的错误。
若count不为0,那么逻辑与&&的第一部分 count != 0 结果为真,才会继续执行第二部分的除法运算

qiuyouzhi 发表于 2020-5-9 21:53:12

小伊布 发表于 2020-5-9 21:38
c语言,整数相除去掉小数,1/2可不就是0

你把除数和商搞混了吧。。。。。

苏格拉没有底呀 发表于 2020-5-9 22:49:46

短路现象常见的有,短路与(&&)和短路或(||),若a && b ,如果a 的值为假,则整个表达zhidao式的值就为假,它是从左向右计算的。所以执行该表达式后,b 的值还是它的初始值,即不进行运算。若内a || b ,如果a 的值为真,整个表达式的值就为真,执行顺序同上。b 的真假由最初的真假来判断,也就是说,当a 为真容时,b 则不进行运算了。例如:(m=a>b)&&(n=c>d),当a b c d 分别为1,2,3,4,m =n =1时,由于a >b 为0,则m =0。而后面的不再执行,所以n=1而不是0。

jkluoling1992 发表于 2020-5-9 22:50:49

在除号前面的是被除数,除号后面的是除数, count 不为0 就是除数不为0,先把基本数学知识搞清楚
页: [1]
查看完整版本: 第十课 - 逻辑运算符