산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> C 언어

C goto 문

C goto 문

이 자습서에서는 C 프로그래밍에서 goto 문을 만드는 방법을 배웁니다. 또한 goto 문을 사용해야 할 때와 사용하지 말아야 할 때를 배우게 됩니다.

goto 문을 사용하면 프로그램의 제어를 지정된 label로 이전할 수 있습니다. .

<시간>

goto 문의 구문

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

레이블 식별자입니다. goto 문을 만나면 프로그램 제어가 label:으로 이동합니다. 코드 실행을 시작합니다.

<그림> <시간>

예:goto 문

// Program to calculate the sum and average of positive numbers
// If the user enters a negative number, the sum and average are displayed.

#include <stdio.h>

int main() {

   const int maxInput = 100;
   int i;
   double number, average, sum = 0.0;

   for (i = 1; i <= maxInput; ++i) {
      printf("%d. Enter a number: ", i);
      scanf("%lf", &number);
      
      // go to jump if the user enters a negative number
      if (number < 0.0) {
         goto jump;
      }
      sum += number;
   }

jump:
   average = sum / (i - 1);
   printf("Sum = %.2f\n", sum);
   printf("Average = %.2f", average);

   return 0;
}

출력

1. Enter a number: 3
2. Enter a number: 4.3
3. Enter a number: 9.3
4. Enter a number: -2.9
Sum = 16.60
Average = 5.53
<시간>

고토를 피해야 하는 이유

goto 사용 문은 버그가 있고 따르기 어려운 코드로 이어질 수 있습니다. 예를 들어,

one:
for (i = 0; i < number; ++i)
{
    test += i;
    goto two;
}
two: 
if (test > 5) {
  goto three;
}
... .. ...

또한 goto 문을 사용하면 범위를 벗어나는 것과 같은 나쁜 일을 할 수 있습니다.

즉, goto 때때로 유용할 수 있습니다. 예:중첩된 루프에서 분리합니다.

<시간>

고토를 사용해야 하나요?

goto의 사용을 생각한다면 문은 프로그램을 단순화하므로 사용할 수 있습니다. 즉, goto 거의 유용하지 않으며 goto를 사용하지 않고 C 프로그램을 만들 수 있습니다. 완전히.

다음은 C++의 창시자인 Bjarne Stroustrup의 인용문입니다. "'goto'가 무엇이든 할 수 있다는 사실이 바로 우리가 그것을 사용하지 않는 이유입니다."


C 언어

  1. 신호음
  2. C# if, if...else, if...else if 및 중첩된 if 문
  3. C# switch 문
  4. C# break 문
  5. C# 계속 문
  6. C++ if, if...else 및 중첩 if...else
  7. 파이썬 통과 문
  8. C - 기본 구문
  9. 파이썬 - 숫자
  10. 부품 번호란 무엇입니까?