这里是我的代码:获取NULL错误
void printlist(struct node *st) {
while(st != NULL); {
printnode(st);
st=st->next;
}
return;
}
运行PROG时,但是我有一个错误:parse error before;
我不明白错误所在。
这里是我的代码:获取NULL错误
void printlist(struct node *st) {
while(st != NULL); {
printnode(st);
st=st->next;
}
return;
}
运行PROG时,但是我有一个错误:parse error before;
我不明白错误所在。
此:
while(st != NULL); {
需求是这样的:
while(st != NULL) {
分号是问题。
正如@EdwinBuck所说,这不是一个分析错误。这是完全有效的C,如果几乎肯定不是OP想要做的。 – 2013-03-12 21:25:28
我只是假设分析器错误在printnode()函数内,并且他传递了一个空节点。 – user1751547 2013-03-12 21:28:41
while(st != NULL); {
printnode(st);
st=st->next;
}
实际上并没有做到您认为的那样。让我为你格式化它
while (st != NULL) ;
{
printnode(st);
st=st->next;
}
这意味着,虽然st不为空,你什么都不做,那么你无条件地运行下一个块。
另外,一些包含链并没有将NULL定义为0.如果使用其中之一,正确的语法是'while(st!= 0){...}' – 2013-03-12 21:35:26
假设“解析错误之前;'是从编译器中获得的错误,这意味着程序中的其他地方存在错误 - 您是否可以发布显示错误的最小实际程序? – 2013-03-12 21:27:17