遇到if语句有问题。 (新程序员。)

时间:2017-11-11 21:45:13

标签: c++

    correct = 0;
    cout << "You entered " << years << ".\nIs that correct? (Y/N) \n";
    cin >> yesNo;
    if (yesNo == 'y' || 'Y')
         correct ++;
} while (correct != 1);
    cout << "good! " << correct << endl;
return 0;

} 如果yesNo = y或Y,我希望它只有++正确的int,如果没有,我希望它循环回到顶部(看不见)

2 个答案:

答案 0 :(得分:6)

我想你的问题在

if (yesNo == 'y' || 'Y')

应该是

if (yesNo == 'y' || yesNo== 'Y')

答案 1 :(得分:3)

http://coliru.stacked-crooked.com/a/5bf3edba51feec45

您的问题是if (yesNo == 'y' || 'Y')。这个if语句说的是

  

如果yesNo等于'y''Y'true,请继续。

问题是,'Y'始终为真,因为char会隐式转换为bool

您可能想要的是if (yesNo == 'y' || yesNo == 'Y')