虽然循环即使应用了错误条件也不会退出

While loop doesn't exit even with false conditions applied

本文关键字:错误条件 退出 应用 循环      更新时间:2023-10-16

即使在 while 循环中返回错误的值,我的程序也不会退出。我该怎么办?我刚开始编程,想不通。我已经用谷歌搜索了答案并复制了教程,但它仍然不起作用。我假设有一些冲突的代码或语法错误,但我找不到它。请帮忙。

using namespace std;
int power(int baseNum, int powNum){
int result = 1;
for(int i=0; i<powNum; i++){
result = result * baseNum;
}
return result;
}
int main() {
char restart;
while(restart = 'r')
{
int numb1;
int numb2;
char op;
cout << "Enter the first number: ";
cout << endl;
cin >> numb1;
cout << "Enter operator: ";
cout << endl;
cin >> op;
cout << "Enter the second number: ";
cout << endl;
cin >> numb2;
switch(op){
case '+':
cout << "Sum = " << numb1 + numb2 << endl;
break;
case '-':
cout << "Difference = " << numb1 - numb2 << endl;
break;
case '*':
cout << "Product = " << numb1 * numb2 << endl;
break;
case '/':
cout << "Quotient = " << numb1 / numb2 << endl;
break;
case '^':
cout << "Result = " << power(numb1, numb2) << endl;
break;
default:
cout << "Error: Invalid Operator!" << endl;
}
cout << "Press [R] to restart." << endl;
cin >> restart;
}
cout << "the end" << endl;
return 0;
}

错误在这里:while(restart = 'r')应该while(restart == 'r')