if 语句不会在 do - while 循环中运行

rmn*_*rdi 0 c++ if-statement

下面是我遇到的一个问题的演示。

do - while 循环中的 if 语句将不会运行。即使“while”的逻辑完全相同并且正确执行。我已经解决了调试器的问题,值为testVar-1.00000000 等等。

#include<iostream>
using namespace std;


int main()
{
    double testVar = 0.00;

    do
    {
        cout << "Enter variable " << endl;
        cin >> testVar;
        if (testVar < 0.00) { "Yep!"; } **//Doesn't work.**

    } while (testVar < 0.00); **//Works**

    return 0;
}
Run Code Online (Sandbox Code Playgroud)
The output of running this program looks like this:
Enter variable
-1
Enter variable
-1
Enter variable
-1
Enter variable
-1
Run Code Online (Sandbox Code Playgroud)

有人可以解释这种行为并提供解决方案吗?我觉得我正在服用疯狂的药丸,因为我应该看到“是的!” 当 testVar = -1.00 时。

顺便说一句,我是用 C# 和 Delphi 开发的。我目前正在攻读 C++ 以达到学位要求。

Ast*_*ngs 5

"Yep!"; 不是做任何事情的声明。

你可能的意思是std::cout << "Yep!\n";.

我希望您的编译器对此发出警告。