繁体   English   中英

了解for循环和函数c ++

[英]Understanding of for loop and function c++

在Visual Studio 2015社区版上运行

实际上,我正在修改c ++的概念,其中在调用函数时遇到错误。 例如:

string GetGuessAndPrintBack() {

    string Guess = "";
    cout << "Enter your Guess Here ";
    getline(cin, Guess);    //taking input from user
    cout << "Your Guess is " << Guess << endl;    //repeating back the user input
    return Guess;
}


int main()
{
    constexpr int NO_OF_TURN = 5;
    for (int i = 0; i < NO_OF_TURN; i++) {
        GetGuessAndPrintBack();
        cout << endl;
    }
    return 0;
}

它要求用户根据NO_OF_TURN进行猜测。 但是,当在函数/方法GetGuessAndPrintBack()定义for循环时,例如:

string GetGuessAndPrintBack() 
{
    constexpr int NO_OF_TURN = 5;
    for (int i = 0; i < NO_OF_TURN; i++) {
        string Guess = "";
        cout << "Enter your Guess Here ";
        getline(cin, Guess);      //taking input from user
        cout << "Your Guess is " << Guess << endl;       //repeating back the user input
        return Guess;
    }
}

int main()
{
    GetGuessAndPrintBack();
    cout << endl;
    return 0;
}

它只要求猜测一次。

因为您在循环内部有一个返回值来终止循环。

从循环内部到方法末尾删除return Guess

它只询问一次,因为您在for循环中有return Guess语句。 在for循环的第一次迭代中,将执行return语句,并终止GetGuessAndPrintBack()函数。

return Guess语句应该在for循环语句之外。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM