English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C++ goto 문

이 문서에서, goto 문을 이해하고, 그 작동 방식 및 왜 피해야 하는지 배울 것입니다.

C ++프로그래밍에서, goto 문은 프로그램의 일반 실행 순서를 변경하여 다른 부분으로 컨트롤을 이동하는 데 사용됩니다.

goto 문법

goto label;
... .. ...
... .. ...
... .. ...
label: 
statement;
... .. ...

위의 문법에서, label은 식별자입니다. goto label;을 만나면, 프로그램은 label:으로 이동하여 그 아래의 코드를 실행합니다.

예제: goto 문

//이 프로그램은 사용자가 입력한 숫자의 평균 값을 계산합니다.
//사용자가 음수를 입력하면, 그 숫자를 무시하고
//이전에 입력한 숫자의 평균 값을 계산합니다.
# include <iostream>
using namespace std;
int main()
{
    float num, average, sum = 0.0;
    int i, n;
    cout << \
    cin >> n;
    for(i = 1; i <= n; ++i)
    {
        cout << \
        cin >> num;
        
        if(num < 0.0)
        {
           // 제어 프로그램이 jump로 이동
            goto jump;
        } 
        sum += num;
    }
    
jump:
    average = sum / (i - 1);
    cout << \
    return 0;
}

출력 결과

최대 입력 수: 10
입력 숫자 n1: 2.3
입력 숫자 n2: 5.6
입력 숫자 n3: -5.6
평균값 = 3.95

제가 쓸 수 있는 어떤 c++프로그램을 작성할 수 있으며, goto 문을 사용하지 않기 때문에 goto 문을 사용하지 않는 것이 좋은 생각으로 간주됩니다.

goto 문을 피하는 이유

goto 문은 프로그램의 어떤 부분으로든 점프할 수 있지만, 프로그램의 논리를 복잡하고 혼란스럽게 만들 수 있습니다.

최신 프로그래밍에서 goto 문은 해로운 구조로 간주되고, 나쁜 프로그래밍 습관으로 간주됩니다.

대부분의 C ++프로그램에서는 사용할 수 있습니다break와 continue 문goto 문 대신