C ++ if语句给出错误的输出

时间:2018-07-31 09:05:26

标签: c++ logic

该代码比较两个数字(总数和候选数)的差,并查看该差是否小于或等于3。如下面的结果所示。一些差异小于3的数字被打印出来,有些差异大于3的数字仍然被打印。

if ((candidate - total) <= 3) {
    cout << candidate << endl;
    cout << "total - candidate = " << total - candidate << endl;
}

它返回:

30
total - candidate = 12
32
total - candidate = -1
36
total - candidate = 13
40
total - candidate = 10
42
total - candidate = 12
48
total - candidate = 28
54
total - candidate = 12

这是什么引起问题?

2 个答案:

答案 0 :(得分:2)

您必须查看放置条件的变量。 首先,您要检查候选者总数的条件,并打印总候选者。 他们不平等

答案 1 :(得分:0)

输出正确。您的条件是否错误。应该是这样-

if ((total - candidate) <= 3) {
    cout << candidate << endl;
    cout << "total - candidate = " << total - candidate << endl;
}