调试过程中错误的地方,但是不知道怎么改。书上的代码就是这样的,可是换到这里就不行了,C-free5.0

luckydogcsy 2016-10-26 03:40:49
void insert(node *head,int i,int x)
{
node *p=head->next,*q;
int k=0;
if(i<1)
cout<<"不存在第"<<i<<"个位置"<<endl;
else
{
while(p!=NULL&&k<i)
{
node *q=p->next;——————调试过程中错误的地方,但是不知道怎么改。书上的代码就是这样的,可是换到这里就不行了,C-free5.0
p=q;
k++;
}
if(p=NULL)
cout<<"超出链表最大可插入位置!"<<endl;
else
{
node *q=new node;
q->data=x;
q->next=p->next;
p->next=q;
}
}
}
...全文
377 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
luckydogcsy 2016-11-02
  • 打赏
  • 举报
回复
我把q去掉之后还是不行。
青蛙工作室 2016-11-01
  • 打赏
  • 举报
回复
第三行 node *p=head->next,*q; node *q=p->next;——————调试过程中错误的地方, 定义了2个*q,会不会这个原因?

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧