第一:我是先生。 :)我的c ++代码有问题。
#include <iostream>
using namespace std;
int main()
{
int a,b;
do {
cout << "a= ";
cin >> a;
if (a<=0) {
cout << "This number is not positive!\n";
}
}
while (a<=0);
do {
cout << "b= ";
cin >> b;
if (b<=0) {
cout << "This number is not positive!\n";
}
}
while ((a==b) and (b<=0));
}
你有什么想法吗?
谢谢!
答案 0 :(得分:5)
这种情况不可能成立。我们已经知道a
是正面的,因此它不能同等b
和b
为负。
听起来像你想要or
。这意味着b
也必须为正数,且不得与a
相同。请注意,通常使用&&
代替and
和||
代替or
:
while ((a==b) || (b<=0));
这样想:如果输入与b
相同,我们就无法继续询问a
是否为或。