Understanding the continue Statement in C: Usage and Examples

Rumman Ansari   Software Engineer   2024-07-05 03:31:24   12637  Share
Subject Syllabus DetailsSubject Details
☰ TContent
☰Fullscreen

continue statement

Sometimes it is useful to force an early iteration of a loop. That is, you might want to continue running the loop but stop processing the remainder of the code in its body for this particular iteration.

The C continue statement is used to continue loop. It continues the current flow of the program and skips the remaining code at specified condition. In case of inner loop, it continues only inner loop.

The continue statement skips some statements inside the loop. The continue statement is used with decision making statement such as if...else.

Syntax of break statement

<span class="pln">
</span><span class="kwd">continue</span><span class="pun">;</span>

The simple code above is the syntax for break statement.

Flowchart of break statement

if statement in C

How break statement works?

if statement in C

Example of continue statement

In output 5 is missing for continue statement

<span class="pln">
</span><span class="com">#include</span><span class="str">&lt;stdio.h&gt;</span><span class="pln">
</span><span class="kwd">void</span><span class="pln"> main</span><span class="pun">()</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
  </span><span class="kwd">int</span><span class="pln"> i </span><span class="pun">;</span><span class="pln">
  </span><span class="kwd">for</span><span class="pun">(</span><span class="pln">i</span><span class="pun">=</span><span class="lit">1</span><span class="pun">;</span><span class="pln">i</span><span class="pun">&lt;=</span><span class="lit">10</span><span class="pun">;</span><span class="pln">i</span><span class="pun">++){</span><span class="pln">
        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">i</span><span class="pun">==</span><span class="lit">5</span><span class="pun">){</span><span class="pln">
            </span><span class="kwd">continue</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        printf</span><span class="pun">(</span><span class="str">"%d  \n"</span><span class="pun">,</span><span class="pln">i</span><span class="pun">);</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

</span><span class="pun">}</span><span class="pln">
</span>

Output

1
2
3
4
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Press any key to continue . . .

Example of Continue Statement with Inner Loop

It continues inner loop only if you use continue statement inside the inner loop.

<span class="pln">
</span><span class="com">#include</span><span class="str">&lt;stdio.h&gt;</span><span class="pln">
</span><span class="kwd">void</span><span class="pln"> main</span><span class="pun">()</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
	</span><span class="kwd">int</span><span class="pln"> i</span><span class="pun">,</span><span class="pln"> j</span><span class="pun">;</span><span class="pln">
    </span><span class="kwd">for</span><span class="pun">(</span><span class="pln">i</span><span class="pun">=</span><span class="lit">1</span><span class="pun">;</span><span class="pln">i</span><span class="pun">&lt;=</span><span class="lit">2</span><span class="pun">;</span><span class="pln">i</span><span class="pun">++){</span><span class="pln">
         </span><span class="kwd">for</span><span class="pun">(</span><span class="pln">j</span><span class="pun">=</span><span class="lit">1</span><span class="pun">;</span><span class="pln">j</span><span class="pun">&lt;=</span><span class="lit">3</span><span class="pun">;</span><span class="pln">j</span><span class="pun">++){</span><span class="pln">
                 </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">i</span><span class="pun">==</span><span class="lit">2</span><span class="pun">&amp;&amp;</span><span class="pln">j</span><span class="pun">==</span><span class="lit">2</span><span class="pun">){</span><span class="pln">
                   </span><span class="kwd">continue</span><span class="pun">;</span><span class="pln">
                  </span><span class="pun">}</span><span class="pln">
              printf</span><span class="pun">(</span><span class="str">" %d "</span><span class="pun">,</span><span class="pln">i</span><span class="pun">);</span><span class="pln">
              printf</span><span class="pun">(</span><span class="str">" %d \n"</span><span class="pun">,</span><span class="pln">j</span><span class="pun">);</span><span class="pln">
           </span><span class="pun">}</span><span class="pln">
           
        </span><span class="pun">}</span><span class="pln">

</span><span class="pun">}</span><span class="pln">
</span>

Output

 1  1
 1  2
 1  3
 2  1
 2  3
Press any key to continue . . .

In a for loop, the continue keyword causes control to immediately jump to the update statement.

In a while loop or do/while loop, control immediately jumps to the Boolean expression.

Example of continue statement

In the program, when the user enters positive number, the sum is calculated using sum += number; statement.
When the user enters negative number, the continue statement is executed and skips the negative number from calculation.

<span class="pln">
</span><span class="com">// Program to calculate sum of maximum of 10 numbers</span><span class="pln">
</span><span class="com">// Negative numbers are skipped from calculation</span><span class="pln">

</span><span class="com"># include&lt;stdio.h&gt;</span><span class="pln">
</span><span class="kwd">int</span><span class="pln"> main</span><span class="pun">()</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
    </span><span class="kwd">int</span><span class="pln"> i</span><span class="pun">;</span><span class="pln">
    </span><span class="kwd">double</span><span class="pln"> number</span><span class="pun">,</span><span class="pln"> sum </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0.0</span><span class="pun">;</span><span class="pln">

    </span><span class="kwd">for</span><span class="pun">(</span><span class="pln">i</span><span class="pun">=</span><span class="lit">1</span><span class="pun">;</span><span class="pln"> i </span><span class="pun">&lt;=</span><span class="pln"> </span><span class="lit">10</span><span class="pun">;</span><span class="pln"> </span><span class="pun">++</span><span class="pln">i</span><span class="pun">)</span><span class="pln">
    </span><span class="pun">{</span><span class="pln">
        printf</span><span class="pun">(</span><span class="str">"Enter a n%d: "</span><span class="pun">,</span><span class="pln">i</span><span class="pun">);</span><span class="pln">
        scanf</span><span class="pun">(</span><span class="str">"%lf"</span><span class="pun">,&amp;</span><span class="pln">number</span><span class="pun">);</span><span class="pln">

        </span><span class="com">// If user enters negative number, loop is terminated</span><span class="pln">
        </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">number </span><span class="pun">&lt;</span><span class="pln"> </span><span class="lit">0.0</span><span class="pun">)</span><span class="pln">
        </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">continue</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">

        sum </span><span class="pun">+=</span><span class="pln"> number</span><span class="pun">;</span><span class="pln"> </span><span class="com">// sum = sum + number;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    printf</span><span class="pun">(</span><span class="str">"Sum = %.2lf \n"</span><span class="pun">,</span><span class="pln">sum</span><span class="pun">);</span><span class="pln">
    
    </span><span class="kwd">return</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span>

Output

Enter a n1: 12
Enter a n2: 3
Enter a n3: -2
Enter a n4: 2
Enter a n5: -11
Enter a n6: 5
Enter a n7: 4
Enter a n8: -4
Enter a n9: 2
Enter a n10: 1
Sum = 29.00 
Press any key to continue . . .

No Questions Data Available.
No Program Data.

Stay Ahead of the Curve! Check out these trending topics and sharpen your skills.