C ++에서 Goto 문을 구현하는 방법?



이 기사에서는 C ++의 goto 문에 대한 심도있는 소개를 제공하고 이에 대한 지원 예제도 제공합니다.

프로그래밍 언어가 무엇이든 프로그래머는 코드 사이를 순회하는 데 어려움을 겪습니다. 이 기사에서는 코드를 따라 탐색하는 프로세스를 단순화하는 데 도움이되는 'Goto Statement In C ++'를 살펴 봅니다.

다음은이 기사에서 논의 할 포인터입니다.





첫 번째 주제를 이해하는 것으로 기사를 시작하겠습니다.

C ++에서 Goto 문이란 무엇입니까?

C ++의 goto 문은 프로그램의 제어를 전송하는 데 사용되는 무조건 점프 문입니다. 이를 통해 프로그램의 실행 흐름이 함수 내의 지정된 위치로 이동할 수 있습니다. goto 문을 호출하는 방법에는 두 가지가 있습니다.



구문 1 구문 2

goto 레이블

// 문 블록

상표:



상표:

// 문 블록

goto 레이블

레이블의 이름은 사용자 정의 식별자이며 이름 바로 뒤에 오는 콜론으로 구분됩니다. 'label :'바로 뒤에 오는 문은 goto 문 다음에 실행될 문입니다. goto 문은 레이블이 표시된 문으로 이동합니다.

Goto 문의 예

C ++에서 goto 문을 사용하는 방법에 대한 몇 가지 예를 살펴 보겠습니다.

예 1 :

// 구문 1을 기반으로 #include using namespace std // 더 큰 수를 확인하는 함수 void checkGreater () {int i, j i = 2j = 5 if (i> j) goto iGreater else goto jGreater iGreater : cout< 

산출:

output-C ++의 Goto 문-Edureka

“checkGreater”함수에서“iGreater :”뒤의 return 문. 컨트롤이 'iGreater :'가있는 레이블로 이동하면 프로그램은 그 이후의 모든 코드를 실행합니다. 따라서 숫자가 더 큰 경우 반환하는 것이 중요합니다. 그렇지 않으면 레이블 'jGreater :'뒤의 코드도 'iGreater :'뒤에 오는 것처럼 실행됩니다.

예 2 :

// 구문 2를 기반으로 #include using namespace std // 1에서 5까지 숫자를 인쇄하는 함수 void printNumbers () {int n = 1 print : cout<< n << ' ' n++ if (n <= 5) goto print } // main method to test above function int main() { printNumbers() return 0 } 

산출:

위의 프로그램에서 레이블은 'print'로 명명되고 변수 'n'이 5보다 작거나 같은 경우에만 goto 문이 'print'레이블로 점프합니다.

Goto 문을 사용하지 않는 이유는 무엇입니까?

FORTRAN 및 초기 버전의 BASIC과 같은 초기 프로그래밍 언어에는 while과 같은 구조화 된 문이 없었기 때문에 프로그래머는 루프를 작성하기 위해 goto 문을 사용해야했습니다. goto 문 사용의 문제점은 코드의 원저자라도 이해하기 매우 어려운 프로그램 논리를 개발하기 쉽다는 것입니다.

배열 자바 스크립트의 길이 찾기

goto 지점이 goto 호출 위에 있으면 무한 루프에 빠지기 쉽습니다.

goto 문을 피하는 방법?

Goto는 피할 수 없으며 피할 수 있습니다. Goto 문은 break 및 continue 문을 사용하여 피할 수 있습니다.

이것으로 'Goto Statement In C ++'에 대한이 기사의 끝으로 이동합니다. 이 정보를 즐기 셨기를 바랍니다. 위에서 언급 한 개념을 이해 했으므로 유사한 콘텐츠 또는 교육에 관심이 있으시면 는 전 세계에 걸쳐 250,000 명 이상의 만족 한 학습자 네트워크를 보유한 신뢰할 수있는 온라인 학습 회사입니다.

Edureka의 교육 및 인증 과정은 자신의 직업에서 탁월하고 싶은 학생과 전문가를 위해 고안되었습니다. 이 과정은 선호하는 것부터 시작하여 각 관심 분야에서 달성하고자하는 각 인증 또는 전문적인 목표에 대해 교육하도록 설계되었습니다.

질문이 있으십니까? 이 블로그의 댓글 섹션에 언급 해 주시면 가능한 한 빨리 답변을 드리겠습니다.