C++ 而循环不';即使应用了错误的条件,也不能退出

C++ 而循环不';即使应用了错误的条件,也不能退出,c++,loops,while-loop,C++,Loops,While Loop,即使在while循环中返回错误的值,我的程序也不会退出。我该怎么办?我刚开始编程,还没弄明白。我已经在谷歌上搜索了答案,并抄袭了教程,但仍然不起作用。我假设有一些冲突的代码或语法错误,但我找不到。请帮忙 使用名称空间std; int power(int baseNum、int powNum){ int结果=1; 对于(int i=0;i当您在循环条件下使用restart='r'时,它首先将restart赋值为'r',然后将其求值为true 在C++中,除0外的所有整数都是真的,并且因为“R”有一

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

使用名称空间std;
int power(int baseNum、int powNum){
int结果=1;

对于(int i=0;i当您在循环条件下使用
restart='r'
时,它首先将restart赋值为'r',然后将其求值为true

在C++中,除0外的所有整数都是真的,并且因为“R”有一个不是0的ASCII码,所以它将返回真值。
必须使用==运算符进行比较,=使用运算符分配。

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

在循环条件中使用==而不是=。
=
是分配,
=
是相等的比较;您还需要使用值初始化
restart
(例如,
char restart{};
),然后在
while
条件下使用它。不这样做会导致未定义的行为,就像读取不确定的值一样。请不要回答由键入错误引起的问题。应投票决定是否因键入错误而关闭这些问题。