跳不出循环是怎么回事,望请解决


while(New->call!=0)
    {
        iCount++;
        if(iCount==1)
        {
            New ->Next=Head;
            End=New;
            Head=New;

        }
        else
        {
            New->Next=NULL;
            End->Next=New;
            End=New;
        }
        End=New=(struct Staff*)malloc(sizeof(struct Staff));
        printf("再次输入\n");
        printf("请输入员工编号:");
        scanf("%d",&New->num);
        printf("请输入员工姓名:");
        scanf("%s",&New->name);
        printf("请输入办公室电话:");
        scanf("%d",&New->phone);
        printf("请输入员工电话:");
        scanf("%d",&New->call);
    }
    free(New);
    return Head;

你电话号的测试数据是什么

img


你这循环条件也不对啊 电话号输入0 才会跳出循环
要不你就给call初值0 然后输入后不为0才跳出循环while(new->call==0){你的代码}

1、New->call !=0,会进入while循环。
2、在while循环里面没有修改New->call 值的地方,New->call 一直不为0,当然挑不出循环了。