我嘗試結束在另一 使用此代碼末尾插入一個列表:追加鏈表到另一個
typedef struct Element
{
int vKey;
char vInfo[30];
struct Element *pNext;
} tsElement;
typedef struct
{
tsElemento *pFirst;
int vLength;
} tsLDSE;
void Unir(tsLDSE *pListIn, tsLDSE *pListOut)
{
tsElement *pElementOut;
pElementOut = pListOut->pFirst;
while (pElementOut != NULL)
{
pElementOut = pElemenoOut->pNext;
}
pElementOut = pListIn->pFirst;
pListOut->vLength = pListOut->vLength + pListIn->vLength ;
}
我檢查打印不會忽略,pElementoOut是真正的第一個列表的末尾和是poiting爲NULL,然後它收到的第二個列表的fisrt地址,但是當我打印出來它只打印第一個列表,我不明白爲什麼。
在*'pElemenoOut'爲'NULL'之前,您需要'pElemenoOut-> pNext = pListIn-> pFirst' *。 – user3386109
謝謝,它的工作,但我不明白爲什麼 因爲pElementOut是pPrevious-> pNext並且爲空 爲什麼我不能只是pElementOut = pListIn->第一個 – user3728181
'pElementOut'是一個局部變量與* pPrevious-> pNext'相同的值*,但'pElementOut'不是**'pPrevious-> pNext'。 – user3386109