这个问题在这里已有答案:
当我执行12*20/100
时,我得到2
作为输出
但是当我执行12*(20/100)
时,我得到0
作为输出
那么有人知道为什么括号会影响输出吗?
这是因为(20/100)
作为整数除法评估为0
。使用(20.0/100)
来获得0.2
。没有括号你有240 / 100 = 2
(作为整数)
在数学中,括号对你的表达无关紧要。
但C ++计算(尤其是整数运算)不是数学。你已经明白了,因为你接受12*20/100
是2
而不是2.4
。
设置括号定义首先计算的内容(如数学),所以12*(20/100)
首先计算20/100
,给0
,然后12*0
,给0
。