If I have multiple if-statements nested inside each other which are all in a for-loop, will a break statement on the inner-most if-statement break out of the for-loop or just into the next if statement?
Asked
Active
Viewed 1.8k times
5
-
1Possible duplicate of [How to break out of nested loops?](https://stackoverflow.com/questions/9695902/how-to-break-out-of-nested-loops) – jonrsharpe Aug 15 '18 at 12:41
-
5`break` doesn't break out of `if`, it's for loops. It will break out of the `for` loop. – Thomas Jager Aug 15 '18 at 12:41
-
See also e.g. https://stackoverflow.com/q/24714287/3001761 – jonrsharpe Aug 15 '18 at 12:42
-
@jonrsharpe That (first) question deals with nested loops. In this one, there's only one loop. – Thomas Jager Aug 15 '18 at 12:42
-
1@ThomasJager as you point out `break` doesn't act on `if`s though, so the question doesn't make sense at face value. – jonrsharpe Aug 15 '18 at 12:42
-
2Why don't you try it? – Jabberwocky Aug 15 '18 at 12:46
-
[break statement](https://www.tutorialspoint.com/cprogramming/c_break_statement.htm) – Tormund Giantsbane Aug 15 '18 at 12:49
-
you do need to "break" if statements – 0___________ Aug 15 '18 at 12:59
3 Answers
21
It will break the loop (the inner most loop that the if contains in) no matter how many if statments are nested inside. A break breaks from a loop and not from if statement.
Jonathan Leffler
- 698,132
- 130
- 858
- 1,229
Dr.Haimovitz
- 1,508
- 10
- 15
4
break is only for loops and switch statements. It ignores the ifs and it will leave the loop, as required.
SzG
- 11,777
- 4
- 25
- 38
3
A break statement only has an effect on loops ( do , for , while ) and switch statements (for breaking out of a case ).
if is not a loop in any programming language(not in C++ either). If-else statements are conditional statements where you take some actions if a predefined condition is true or false. There is no loop in if statements. So you can't break if statement since it is not a loop or switch statement.
Hope you understand!
Kishan Lal
- 193
- 3
- 12
-
1What is your source for the claim that `if` is not a loop in any programming language? Did somebody survey every programming language every created, even by a student in a class exercise? Is there no foreign language in which `if` has some other meaning and was used as a loop keyword? Has no assembly language happened to use `if` as a mnemonic for a branch instruction? – Eric Postpischil Aug 15 '18 at 15:01