【发布时间】:2016-12-20 09:03:30
【问题描述】:
我在while循环中写了条件但是出错了
curr undeclared(第一次在这个函数中使用)
虽然我在插入函数中使用了变量 curr。
insert(struct node **start)
{ struct node *temp;
temp=(struct node *)malloc(sizeof(struct node);
temp-> data=75;
temp->next= NULL;
if(*start==NULL)
{*start= temp;}
else
{struct node *curr=*start;}
while(curr->next!=NULL)
{curr= curr->next;
curr-> next= temp;
}
}
【问题讨论】:
-
你的格式很糟糕。出于对所有美好事物的热爱,请阅读一些优秀的 C 代码并正确且一致地格式化您的代码。然后,我们可能会向您解释 scope 是如何工作的。但只有当你的块显示为 blocks.
-
请注意,点
.和箭头->操作符绑定得非常紧密,两边都不应该有空格。编译器不介意,但为了那些阅读您的代码的人的理智。 (我也完全同意所显示的格式非常糟糕的评论。避免使用类似于 Pico style 的任何内容——这是 C,而不是 Pico——并改用 Allman 或 1TBS 变体。) -
来吧,看看这里大部分的sn-ps代码是怎么格式化的……
-
您必须在
else子句之外声明它。
标签: c pointers linked-list singly-linked-list