提问者:小点点

我做了一个C++用户输入,它检测什么时候没有输入值,但是它在启动时终止程序,而不输出任何内容。 为什么?


int main() {
bool entered = false;
while(entered = false) {
    std::cout << "Please enter thy name: ";
    std::string name;
    std::getline(std::cin, name);
    std::cout << "Hello, " + name;
    int length = name.length();
    if(length > 0) {
        std::cout << "Hello, " + name;
        entered = true;
    } else {
        std::cout << "Thou did not enter thy name";
    }
    
}

我已经在Java做了一个类似的程序,有类似的格式,这一个工作


共1个答案

匿名用户

此循环条件:

while(entered = false) 

是错的。 不是比较falseentered,而是将false分配给entered

相反,您需要做:

while(entered == false) 

如果打开警告,例如使用-wall,编译器将告诉您这里可能出错。

相关问题


MySQL Query : SELECT * FROM v9_ask_question WHERE 1=1 AND question regexp '(做了|c++|用户|输入|检测|输入|值|它在|启动时|终止|程序|不输|内容)' ORDER BY qid DESC LIMIT 20
MySQL Error : Got error 'repetition-operator operand invalid' from regexp
MySQL Errno : 1139
Message : Got error 'repetition-operator operand invalid' from regexp
Need Help?