0

这是我的代码:

void printlist(struct node *st) { 
  while(st != NULL); {
    printnode(st);
    st=st->next;
  }
  return;
}

但是,运行 prog 时出现错误:parse error before;
我不明白错误在哪里。

4

2 回答 2

4

这个:

while(st != NULL); {

需要是这样的:

while(st != NULL) {

分号是问题所在。

于 2013-03-12T21:21:58.620 回答
3
  while(st != NULL); {
    printnode(st);
    st=st->next;
  }

实际上并没有做你认为它做的事情。让我为你格式化

  while (st != NULL) ;

  {
    printnode(st);
    st=st->next;
  }

这意味着当 st 不为空时,你什么都不做,然后你无条件地运行下一个块。

于 2013-03-12T21:23:18.450 回答