[英]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.