1个回答
展开全部
while(p) 等价于while(p!=NULL) 检查的是p值是不是NULL
而while(*p) 相当于while( *p != 0) 检查的是p所指向的地址中的数据是否为0,但前提是p不能为NULL,所以,你的程序在使用while(*p)时,会出错!
在你这个代码中,会体现为编译出错!
而while(*p) 相当于while( *p != 0) 检查的是p所指向的地址中的数据是否为0,但前提是p不能为NULL,所以,你的程序在使用while(*p)时,会出错!
在你这个代码中,会体现为编译出错!
追问
while(*p)的前提是不能为NULL,程序中有体现吗
追答
while(*p)这种写法一定不会出现在链表的访问上!这种写法一般用在字符串的遍历上!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询