[英]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.