当我包含括号时,[C ++]运算符出现故障?

时间:2017-12-29 17:48:58

标签: c++ algorithm data-structures

当我执行12*20/100时,我得到2作为输出

但是当我执行12*(20/100)时,我得到0作为输出

所以有人知道为什么括号会影响输出吗?

2 个答案:

答案 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 }。