[英]About break statement in c programming and termination of a loop
我对这个程序中的break
语句有疑问。
从技术上讲, break
语句终止了它所在的循环,但在这个程序中, break
位于if
语句中。
所以,这里的break
应该只终止if
语句,对吧? 但它也终止了do-while
语句。
对不起,如果我问错了什么。 我是编程新手
#include <stdio.h>
int main()
{
int count;
char response;
for (count = 1; count <= 100; count++)
{
printf("count = %d\n", count);
printf("enter y to continue or any other key to quit");
scanf(" %c", &response);
if (response != 'y')
break;
}
printf("thank you!\n");
return 0;
}
根据 C 标准(6.8.6.3 中断声明)
2 break 语句终止执行最小的封闭 switch 或迭代语句。
这个 if 语句中的这个 break 语句
if (response !='y')
break;
终止执行封闭的 for 语句。
你可以想象它的动作如下
for (count=1;count<=100;count++){
//...
if (response !='y')
goto L1;
}
L1:
printf("thankyou!");
如果 if 语句未包含在迭代或 switch 语句中,则不能在 if 语句中使用 break 语句。
break 语句是一个跳转语句,它将控制传递到最小的封闭 switch 或迭代语句之外。
您可以在两个 state 中使用“break”语句。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.