因此,当我尝试绕过第一个if语句继续执行程序的其余部分时,它总是执行第一个if语句,我只是想知道我正在做什么与else工作。我已经尝试在else语句中包含我的其余代码,但它也不起作用。没有编译器错误所以请帮助!谢谢!
if(Owin = win)
{
cout << "The computer has defeated you!\n\n";
cout << "Would you like to play again? (Y or N) : ";
cin >> restart;
if(restart == 'Y' || restart == 'y');
{
cout << "\n\n\n";
main() ;
}
else
{
cout << "Good Bye!\n\n";
system("pause");
return(0);
}
}
else
{ }
答案 0 :(得分:2)
您使用=
代替==
。因此,您只需将win
分配给Owin
,如果if
,则Owin > 0
始终为真。
另外,从第二个;
中移除if
。
写else { }
也是多余的,因为你在else
内没有做任何事。
作为模板,这会更好:
int main()
{
// Declarations...
while(restart != 'Y' && restart != 'y')
{
if(Owin == win)
{
cout << "The computer has defeated you!\n\n";
cout << "Would you like to play again? (Y or N) : ";
cin >> restart;
}
else
{
// Do the rest here
}
}
cout << "Good Bye!\n\n";
system("pause");
return 0;
}
答案 1 :(得分:1)
if语句的语法不正确 if语句的正确语法是
if(condition)
{
//body of if statement
}
你必须使用像== not =这样的检查操作符 if的条件应该返回boolean
=是初始化,==用于检查两件事是否相等 相反,否则使用
if(Owin > 0)
或使用
if(Owin == win)
答案 2 :(得分:0)
if(Owin = win)
不为零/空, win
将始终为真,因为它会将win
分配给Owin
,然后检查Owin
的值和将非零/非空值视为TRUE
。