For For不是循环吗?c++

for for other thing than a loop? C++

本文关键字:For c++ 循环      更新时间:2023-10-16

在我的课程中,我需要动态分配卡片列表,但是有一行代码我不确定。

if (newPlayer)                        
{
    cout << "Enter your name: ";
    cin >> playerName;
    newPlayer->nom = playerName;
    newPlayer->nextPlayer= NULL;
    newPlayer->cardsInHand= NULL;
    if (playersList)                           
    {
        //this for I dont understand. How can a for loop become this and what does it does                  
        for (p = playersList; p->nextPlayer; p = p->nextPlayer);
             p->nextPlayer= newPlayer;
    }
    else                                       
    {
        playerList= newPlayer;
        newPlayer->nextPlayer= NULL;
    }
}

这仍然是一个循环。格式:

for (p = playersList;     // initialize p to the head of the list
     p->nextPlayer;       // continue while there is a next player 
     p = p->nextPlayer)   // set p to the next player
  ;                       // do nothing inside the loop.

注意分号。它一直在那里,但很难发现。

现在我们到了列表的末尾,将最后一个元素的nextPlayer成员指向newPlayer

p->nextPlayer = newPlayer;

原文应该缩进如下:

for (p = playersList; p->nextPlayer; p = p->nextPlayer)
  ;
p->nextPlayer = newPlayer;