[C++] break, continue

hyeonaยท2024๋…„ 2์›” 7์ผ

C++

๋ชฉ๋ก ๋ณด๊ธฐ
6/8
post-thumbnail

๐Ÿ“Œ break

: ์—ฌ๋Ÿฌ ๋ฐ˜๋ณต๋ฌธ, ์กฐ๊ฑด๋ฌธ์„ ์ข…๋ฃŒ์‹œํ‚ค๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

โœ”๏ธ return๊ณผ์˜ ์ฐจ์ด์ 
-> break : ํ•ด๋‹นํ•˜๋Š” ๋ฐ˜๋ณต๋ฌธ, ์กฐ๊ฑด๋ฌธ์—์„œ๋งŒ ์ข…๋ฃŒํ•œ๋‹ค.
-> return : ํ•ด๋‹นํ•˜๋Š” ๋ฌธ์˜ ์ „์ฒด ํ•จ์ˆ˜๋ฅผ ์ข…๋ฃŒํ•˜๊ณ , ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋œ ์ง€์ ์—์„œ ์‹คํ–‰์„ ๊ณ„์†ํ•œ๋‹ค.


#include <iostream>

int breakOrReturn()
{
    while (true) // ๋ฌดํ•œ ๋ฃจํ”„
    {
        std::cout << "Enter 'b' to break or 'r' to return: ";
        char ch;
        std::cin >> ch;

        if (ch == 'b')
            break; // ๋ฃจํ”„ ๋ฐ–์˜ ์ฒซ ๋ฒˆ์งธ ๋ช…๋ น๋ฌธ์—์„œ ์‹คํ–‰์ด ๊ณ„์†๋œ๋‹ค.

        if (ch == 'r')
            return 1; // return์„ ํ˜ธ์ถœํ•˜๋ฉด ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ์ž์—๊ฒŒ ์ฆ‰์‹œ ๋ฐ˜ํ™˜๋œ๋‹ค (์ด ๊ฒฝ์šฐ main()).
    }

    // break๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์—ฌ๊ธฐ์„œ๋ถ€ํ„ฐ ์‹คํ–‰๋œ๋‹ค. (๋ฃจํ”„ ๋ฐ–์˜ ์ฒซ ๋ฒˆ์งธ ๋ช…๋ น๋ฌธ)
    std::cout << "We broke out of the loop\n";

    return 0;
}

int main()
{
    int returnValue = breakOrReturn();
    std::cout << "Function breakOrContinue returned " << returnValue << '\n';

    return 0;
}

๐Ÿ“Œ continue

: ํ˜„์žฌ ๋ฃจํ”„ ๋ชธ์ฒด์˜ ๋์œผ๋กœ ์ด๋™ํ•œ๋‹ค.
: ํ˜„์žฌ ๋ฐ˜๋ณต์„ ์ผ์ฐ ์ข…๋ฃŒํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์œ ์šฉํ•˜๊ฒŒ ์“ฐ์ธ๋‹ค.
-> coninute ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ผ๋ถ€ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜์ง€ ์•Š๊ณ  ์ ํ”„ํ•  ์ˆ˜ ์žˆ๋‹ค.

for (int count=0; count  < 20; ++count)
{
    // ์ˆซ์ž๊ฐ€ 4๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ ์ด ๋ฐ˜๋ณต์„ ๊ฑด๋„ˆ๋›ด๋‹ค.
    if ((count % 4) == 0)
        continue; // ๋ฃจํ”„ ๋ชธ์ฒด ๋์œผ๋กœ ์ ํ”„ํ•œ๋‹ค.

    // ์ˆซ์ž๊ฐ€ 4๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ ๊ณ„์†๋œ๋‹ค.
    std::cout << count << std::endl;

    // continue ๋ฌธ์€ ์—ฌ๊ธฐ๋กœ ์ด๋™์‹œํ‚จ๋‹ค.
}

๐Ÿ“Œ ์ฐธ๊ณ  : ์†Œ๋…„์ฝ”๋”ฉ ๋ธ”๋กœ๊ทธ | https://boycoding.tistory.com/191

0๊ฐœ์˜ ๋Œ“๊ธ€