我正在尝试实现一个简单的while循环,但是对于我的一生,我无法弄清楚我所缺少的内容。我已经将currentuser初始化为-1
while(currentuser = -1){
cout << "Enter user ID: ";
cin >> id;
currentuser = search(a, length, id);
}
我的搜索功能是这样的:
int search (User a[ ], int length, string userID){
User u;
string tempid;
int templegnth; //I ignore length for now as I will use it later
for(int i=0; i<50; i++){
tempid = a[i].getID();
templegnth = tempid.length();
if((tempid == userID)){
return i;
}
}
return -1;
}
我知道这很简单,但答案现在让我无所适从。
最佳答案
=
(赋值)运算符与==
(相等)运算符不同。
该行:
while(currentuser = -1){
首先将
-1
分配给currentuser
,然后检查currentuser
是否具有非零值。情况总是如此(-1 != 0
),因此循环永远不会结束。您可能是这样说的:
while(currentuser == -1){
比较
currentuser
和-1
,并继续循环,只要该比较为真。