当我的代码运行时,我得到3个错误:
- "返回前的预期表达式">
- "期望的表达式在}之前">
- "应为","或";"在(Node*Node=q->head(的"("之前
int queue_length(queue_t* q){
if(q==NULL) {
return -1;
}
int size = 0;
for(Node *node=q->head)
{
size++;
}
return size;
}
您的for循环不正确。理想情况下,您需要类似于以下内容的内容:
for(int countingVar=0;countingVar<10;countingVar++({。。。}
也许您的目标是计算队列中的元素数量。如果是这样的话,也许你想要类似于下面的东西,这是一个延伸,因为我不知道你的queue_t结构是什么样子的:
while(NULL!=q->head({。。。}
for(Node *node=q->head)
{
size++;
}
这个循环在语法上是错误的。for循环的Google语法。它应该用于(初始化;条件;递增/递减({//body}我可以看出你来自一个更高层次的语言。C没有foreach或for之类的东西。。对于你的情况,你应该在一段时间内完成,比如
while(q!=NULL)
{
size++;
q=q->next;
}