当我执行12*20/100
时,我得到2
作为输出
但是当我执行12*(20/100)
时,我得到0
作为输出
所以有人知道为什么括号会影响输出吗?
答案 0 :(得分:1)
这是因为(20/100)
作为整数除法评估为0
。使用(20.0/100)
获取0.2
。没有括号,你有240 / 100 = 2
(整数)
答案 1 :(得分:0)
在数学中,括号与你的表达无关。
但 C ++计算(特别是整数算术)不是数学。您已经明白,因为您接受12*20/100
而非2
而不是2.4
。
设置括号首先定义要计算的内容(如数学中所示),因此12*(20/100)
首先计算20/100
,给出0
,然后12*0
,给出0
}。