while(p->next&&jp为指向结构体的指针, p->next 为p所指向的结点的后继结点
就是p所指向的结点 有后继结点, 并且 j
if(!p->next||j>i) return(0);else return(p->data);
道理同上: if() 里面的 !p->next||j>i 等价于 (!p->next)||j>i
就是 当p指向节点没有后继结点 或者 j>i 时 return (0); 否则 返回p所指向节点里的 data 数据
while(p->next&&j
当p缓冲池或容器内还有下一条内容并且j小于i,那么执行下面的代码。
if(!p->next||j>i) return(0);else return(p->data);
如果p容器内没有下一条数据(数据已经读完了)或者j大于i,那么返回“0”值,否则 返回p当前数据。
if(!p->next||j>i)
//判断 p指向的下一结点为空或者j>i时
return( 0);
else return(p->data);否者返回p的data域的值