0
string readString(string p)
{
string s;
cout << p;
cin >> s;
return s;
}
int main()
{
string oper = readString("? ");
while (oper != "Q")
{
if (oper == "l")
cout << "load complete" << endl;
else if (oper == "+")
cout << "add complete" << endl;
string oper = readString("? ");
}
}
Когда я нахожу l
, выход load complete
. Но затем я вводил +
, он все еще выводит load complete
. Почему он не выводит add complete
?Функция CPP не может получить правильный выход
Черт, который был быстро ... – trojanfoe
это работает, но я до сих пор путают, как это новая переменная влияет на все это? – XIAODI
Поскольку ваша новая переменная имеет автоматическое хранилище, она сохраняется до конца ее содержащей области, то есть цикла while. Итак, все, что вы делаете, это создание новой «строки», а затем ее уничтожение почти мгновенно. – TartanLlama