为什么我的链表调试的时候,节点内容都输入完了,我回车按了好多还是没有进入下一步,一点反应都没有?(编译器显示无任何错误和警告)

#include
#include

struct member
{
char iName[20];
struct member* pNext;
};

int iCount;
struct member* creat()
{
struct member* pNew, * pEnd;
struct member* pHead = NULL;
iCount = 0;
pEnd = pNew = (struct member*)malloc(sizeof (struct member)); /强制转化为结构体变量指针类型/
if (pEnd == NULL || pNew == NULL)
{
printf("error\n");
exit(-1);
}
printf("请输入室友姓名:\n");
scanf_s("%s", &pNew->iName,10);

while(pNew->iName != NULL)
{
    iCount++;
    if (iCount == 1)
    {
        pNew->pNext = NULL;
        pEnd = pNew;
        pHead = pNew;
    }
    else
    {
        pNew->pNext = NULL;
        pEnd->pNext = pNew;
        pEnd = pNew;
    }
    pNew= (struct member*)malloc(sizeof(struct member));
    if (pNew == NULL)
    {
        printf("error\n");
        exit(-1);
    }
    scanf_s("%s", &pNew->iName,10);
    
}
free(pNew);
return pHead;

}

void print(struct member* pHead)
{
int Index = 1;
struct member* pTemp;
pTemp = pHead;
while (pTemp!=NULL)
{
printf("第%d名员工:\n", Index);
printf("姓名:%s\n", pTemp->iName);
pTemp = pTemp->pNext;
Index++;
}
}
int main()
{
struct member* pHead;
pHead = creat();
print(pHead);
return 0;
}

img

你的while循环是一个死循环