From 754bbf7a25a8dda49b5d08ef0d0443bbf5af0e36 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Sun, 7 Apr 2024 13:41:34 -0500 Subject: new repository --- devdocs/c/language%2Fbreak.html | 62 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 devdocs/c/language%2Fbreak.html (limited to 'devdocs/c/language%2Fbreak.html') diff --git a/devdocs/c/language%2Fbreak.html b/devdocs/c/language%2Fbreak.html new file mode 100644 index 00000000..bf2423f9 --- /dev/null +++ b/devdocs/c/language%2Fbreak.html @@ -0,0 +1,62 @@ +

break statement

Causes the enclosing for, while or do-while loop or switch statement to terminate.

+

Used when it is otherwise awkward to terminate the loop using the condition expression and conditional statements.

+

Syntax

+ +
attr-spec-seq (optional) break ;
+ +
attr-spec-seq - (C23) optional list of attributes, applied to the break statement

Appears only within the statement of a loop body (while, do-while, for) or within the statement of a switch.

+

Explanation

After this statement the control is transferred to the statement or declaration immediately following the enclosing loop or switch, as if by goto.

+

Keywords

break

+

Notes

A break statement cannot be used to break out of multiple nested loops. The goto statement may be used for this purpose.

+

Example

#include <stdio.h>
+ 
+int main(void)
+{
+    int i = 2;
+    switch (i)
+    {
+        case 1: printf("1");
+        case 2: printf("2");   // i==2, so execution starts at this case label
+        case 3: printf("3");
+        case 4:
+        case 5: printf("45");
+                break;         // execution of subsequent cases is terminated
+        case 6: printf("6");
+    }
+    printf("\n");
+ 
+    // Compare outputs from these two nested for loops.
+    for (int j = 0; j < 2; j++)
+        for (int k = 0; k < 5; k++)
+            printf("%d%d ", j,k);
+    printf("\n");
+ 
+    for (int j = 0; j < 2; j++)
+    {
+        for (int k = 0; k < 5; k++) // only this loop is exited by break
+        {
+            if (k == 2)
+                break;
+            printf("%d%d ", j,k);
+        }
+    }
+}

Possible output:

+
2345
+00 01 02 03 04 10 11 12 13 14
+00 01 10 11

References

See also

+ +
[[fallthrough]](C23) indicates that the fall through from the previous case label is intentional and should not be diagnosed by a compiler that warns on fall-through
(attribute specifier)
C++ documentation for break statement
+

+ © cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
+ https://en.cppreference.com/w/c/language/break +

+
-- cgit v1.2.3