为什么这段代码执行不了continue语句
时间: 2023-07-13 09:38:54 浏览: 55
这段代码执行不了`continue`语句的原因是因为`continue`语句只能用在循环语句中,而当前的代码块不是在循环语句中。在这段代码中,`continue`语句的作用是跳过当前的循环,然后继续执行下一次循环,但是当前代码块并没有循环语句,因此`continue`语句会报错。
如果想要在当前代码块中实现跳过当前循环,可以使用`goto`语句来实现。例如,可以在`if`语句中使用`goto`语句跳转到循环的下一次迭代,如下所示:
```c
while (1) {
printf("插入学生的学号:\n");
int id=0;
scanf("%d", &id);
for (int i = 0; i <= stu_num; i++) {
if (id == stu[i].studentID) {
printf("学号重复,重新输入\n");
goto continue_loop;
}
}
new_stu.studentID = id;
break;
continue_loop:
continue;
}
```
这样做的效果和使用`continue`语句是一样的。但是需要注意的是,`goto`语句容易产生代码的跳转和逻辑混乱,应该谨慎使用。