C++ 如何使用布尔值(C+;+;)退出while循环

C++ 如何使用布尔值(C+;+;)退出while循环,c++,C++,代码: while(CheckPalindrome==false) { cout为了测试Check回文函数的布尔响应,必须实际调用该函数 而不是 while (CheckPalindrome == false) { cout << "hi"; i = number; r = RevNum(i); adds++; CheckPalindrome(i); } bool CheckPalindrome(int i) { bool Check

代码:

while(CheckPalindrome==false)
{

cout为了测试Check回文函数的布尔响应,必须实际调用该函数

而不是

while (CheckPalindrome == false)
{
    cout << "hi";
    i = number;
    r = RevNum(i);
    adds++;
    CheckPalindrome(i);
}
bool CheckPalindrome(int i)
{
    bool Check = false;
    if (i == rev)
    {
        Check = true;
    }
    return Check;
}
换成

while(CheckPalindrome == false)
然后可以在函数中修改
someVariable

当然,由于函数返回布尔值,正确的语法是:

while(CheckPalindrome(someVariable) == false)

如果没有前面的
,它将是
while(true)
使它成为while(false)而不是true

CheckPalindrome
是一个函数。函数名本身的计算结果就是该函数的地址。由于这是一种指针类型,将其作为
if
/
while
的条件进行计算相当于将其与空指针进行比较,因此
while
循环本质上与以下相同:

while ( !CheckPalindrome(someVariable) )
循环执行时,
checkPalindrome
的地址不会改变,因此这只能做两件事中的一件:要么
checkPalindrome
位于一个比较等于空指针1的地址,而循环根本不会执行,要么它比较为不等于空指针,然后得到一个无穷大的值e环


1.可能有争论的余地,认为这种情况永远不会发生/实际上是不允许的,但即使发生了,也不会有任何帮助。

首先,这不是一个。请,还有。至于你的问题,
CheckPalindrome
表达式本身是做什么的?你如何调用函数?也许是时候回到你的教程、课本或课堂笔记上重新阅读它们了?如果你只是猜测一些事情,那么就正确地学习。你调用了函数循环条件将函数与
false
进行比较,而不是将其返回值进行比较。
while (checkPalindrome == nullptr)