source: public/doc/gnu-c/continue-Statement.html@ 02598c2

Last change on this file since 02598c2 was 02598c2, checked in by Mikhail Kirillov <w96k@…>, on Oct 6, 2022 at 12:36:29 PM

Add gnu-c

  • Property mode set to 100644
File size: 4.8 KB
Line 
1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2<html>
3<!-- Copyright (C) 2022 Richard Stallman and Free Software Foundation, Inc.
4
5(The work of Trevis Rothwell and Nelson Beebe has been assigned or
6licensed to the FSF.)
7
8Permission is granted to copy, distribute and/or modify this document
9under the terms of the GNU Free Documentation License, Version 1.3 or
10any later version published by the Free Software Foundation; with the
11Invariant Sections being "GNU General Public License," with the
12Front-Cover Texts being "A GNU Manual," and with the Back-Cover
13Texts as in (a) below. A copy of the license is included in the
14section entitled "GNU Free Documentation License."
15
16(a) The FSF's Back-Cover Text is: "You have the freedom to copy and
17modify this GNU manual. Buying copies from the FSF supports it in
18developing GNU and promoting software freedom." -->
19<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ -->
20<head>
21<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
22<title>continue Statement (GNU C Language Manual)</title>
23
24<meta name="description" content="continue Statement (GNU C Language Manual)">
25<meta name="keywords" content="continue Statement (GNU C Language Manual)">
26<meta name="resource-type" content="document">
27<meta name="distribution" content="global">
28<meta name="Generator" content="makeinfo">
29<link href="index.html" rel="start" title="Top">
30<link href="Symbol-Index.html" rel="index" title="Symbol Index">
31<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
32<link href="Loop-Statements.html" rel="up" title="Loop Statements">
33<link href="switch-Statement.html" rel="next" title="switch Statement">
34<link href="for_002dIndex-Declarations.html" rel="prev" title="for-Index Declarations">
35<style type="text/css">
36<!--
37a.summary-letter {text-decoration: none}
38blockquote.indentedblock {margin-right: 0em}
39div.display {margin-left: 3.2em}
40div.example {margin-left: 3.2em}
41div.lisp {margin-left: 3.2em}
42kbd {font-style: oblique}
43pre.display {font-family: inherit}
44pre.format {font-family: inherit}
45pre.menu-comment {font-family: serif}
46pre.menu-preformatted {font-family: serif}
47span.nolinebreak {white-space: nowrap}
48span.roman {font-family: initial; font-weight: normal}
49span.sansserif {font-family: sans-serif; font-weight: normal}
50ul.no-bullet {list-style: none}
51-->
52</style>
53
54
55</head>
56
57<body lang="en">
58<span id="continue-Statement"></span><div class="header">
59<p>
60Previous: <a href="for_002dIndex-Declarations.html" accesskey="p" rel="prev">for-Index Declarations</a>, Up: <a href="Loop-Statements.html" accesskey="u" rel="up">Loop Statements</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Index.html" title="Index" rel="index">Index</a>]</p>
61</div>
62<hr>
63<span id="continue-Statement-1"></span><h4 class="subsection">19.6.8 <code>continue</code> Statement</h4>
64<span id="index-continue-statement"></span>
65<span id="index-statement_002c-continue"></span>
66<span id="index-continue"></span>
67
68<p>The <code>continue</code> statement looks like &lsquo;<samp>continue;</samp>&rsquo;, and its
69effect is to jump immediately to the end of the innermost loop
70construct. If it is a <code>for</code>-loop, the next thing that happens
71is to execute the loop&rsquo;s <var>advance</var> expression.
72</p>
73<p>For example, this loop increments <code>p</code> until the next null character
74or newline, and operates (in some way not shown) on all the characters
75in the line except for spaces. All it does with spaces is skip them.
76</p>
77<div class="example">
78<pre class="example">for (;*p; ++p)
79 {
80 /* <span class="roman">End loop if we have reached a newline.</span> */
81 if (*p == '\n')
82 break;
83 /* <span class="roman">Pay no attention to spaces.</span> */
84 if (*p == ' ')
85 continue;
86 /* <span class="roman">Operate on the next character.</span> */
87 <span class="roman">&hellip;</span>
88 }
89</pre></div>
90
91<p>Executing &lsquo;<samp>continue;</samp>&rsquo; skips the loop body but it does not
92skip the <var>advance</var> expression, <code>p++</code>.
93</p>
94<p>We could also write it like this:
95</p>
96<div class="example">
97<pre class="example">for (;*p; ++p)
98 {
99 /* <span class="roman">Exit if we have reached a newline.</span> */
100 if (*p == '\n')
101 break;
102 /* <span class="roman">Pay no attention to spaces.</span> */
103 if (*p != ' ')
104 {
105 /* <span class="roman">Operate on the next character.</span> */
106 <span class="roman">&hellip;</span>
107 }
108 }
109</pre></div>
110
111<p>The advantage of using <code>continue</code> is that it reduces the
112depth of nesting.
113</p>
114<p>Contrast <code>continue</code> with the <code>break</code> statement. See <a href="break-Statement.html">break Statement</a>.
115</p>
116
117
118
119</body>
120</html>
Note: See TracBrowser for help on using the repository browser.