c-我的代码在语法上出了什么问题



当我的代码运行时,我得到3个错误:

  1. "返回前的预期表达式">
  2. "期望的表达式在}之前">
  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;
}

相关内容

  • 没有找到相关文章

最新更新