你都把p->next设置成null了,后面当然就退出while了, 这一行没必要
是if里面创建新结点记录p的值的时候出的问题,把这一步指针置空一步删掉就好了,但是为什么我不能这样子先记录该p指针的值然后把这个r指针置空,再进行移动到下一步呢
不知道你想干嘛,但是r=p不等于r指向的内存等于p指向的内存,你可以*r=*p,但是这样做r和p里面的指针也只能是指针值相等。