Cum se implementează declarația Goto în C ++?



Acest articol vă va oferi o introducere în profunzime a declarației goto în C ++ și vă va oferi, de asemenea, exemple de susținere pentru același lucru.

Indiferent de limbajul de programare, programatorii au dificultăți atunci când vine vorba de a parcurge codul. În acest articol vom explora „Treceți la declarație în C ++” care ne ajută să simplificăm procesul de parcurgere de-a lungul codului.

Următoarele sunt indicații care vor fi discutate în acest articol,





Deci, să începem cu articolul înțelegând primul subiect,

Ce este Declarația Goto în C ++?

Instrucțiunea goto din C ++ este o instrucțiune de salt necondiționată utilizată pentru transferul controlului unui program. Permite fluxului de execuție al programului să sară la o locație specificată din cadrul funcției. Există două moduri de a apela declarația goto.



Sintaxa 1 Sintaxa 2

mergeți la etichetă

// bloc de declarații

eticheta:



eticheta:

// bloc de declarații

mergeți la etichetă

Numele unei etichete este un identificator definit de utilizator și se distinge prin două puncte care îi urmează imediat numele. Declarația urmată imediat după „etichetă:” este declarația care trebuie executată după declarația go. Declarația Goto sare la declarația marcată cu o etichetă.

ce este semafor în java

Exemple de declarație Goto

Să vedem câteva exemple despre cum să folosiți instrucțiunea goto în C ++

Exemplul 1:

// bazat pe sintaxa 1 #includeți utilizarea spațiului de nume std // funcția pentru a verifica numărul mai mare void checkGreater () {int i, j i = 2j = 5 if (i> j) go iGreater else go go jGreater iGreater: cout< 

Ieșire:

ieșire - Declarație Goto în C ++ - Edureka

Declarația return după „iGreater:” în funcția „checkGreater”. Odată ce controlul sare la etichetă cu „iGreater:”, programul va executa fiecare bucată de cod după ea. Deci, este important să reveniți dacă numărul este mai mare. În caz contrar, codul după eticheta „jGreater:” va fi executat, de asemenea, după cum vine după „iGreater:”.

Exemplul 2:

// bazat pe sintaxa 2 #include utilizarea spațiului de nume std // funcția pentru a imprima numerele de la 1 la 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 } 

Ieșire:

În programul de mai sus, eticheta este denumită „print” și declarația goto sare la eticheta „print” numai atunci când variabila „n” este mai mică sau egală cu 5.

De ce să nu folosiți declarația Goto?

Limbajele de programare timpurii, cum ar fi FORTRAN și versiunile anterioare ale BASIC, nu aveau instrucțiuni structurate ca în timp, așa că programatorii au fost obligați să folosească instrucțiunile goto pentru a scrie bucle. Problema utilizării instrucțiunilor goto este că este ușor să dezvolți logica programului care este foarte greu de înțeles, chiar și pentru autorul original al codului.

eșuează rapid vs eșuează în siguranță

Este ușor să fii prins într-o buclă infinită dacă punctul Goto este deasupra apelului Goto.

Cum să evitați declarația Goto?

Goto nu este inevitabil și poate fi evitat. Declarația Goto poate fi evitată folosind declarațiile break și continue.

Acest lucru ne aduce la sfârșitul acestui articol despre „Treceți la declarație în C ++”. Sper că v-a plăcut această informație. Acum că ați înțeles conceptul menționat mai sus, dacă sunteți interesat de un conținut similar sau de formare, verificați , o companie de învățare online de încredere, cu o rețea de peste 250.000 de cursanți mulțumiți răspândiți pe tot globul.

Cursul de formare și certificare Edureka este conceput pentru studenți și profesioniști care doresc să exceleze în profesiile lor. Cursul este conceput pentru a vă oferi un început avansat în preferința dvs. și pentru a vă instrui pentru certificarea respectivă sau obiectivele profesionale pe care doriți să le atingeți în domeniul respectiv de interes.

Ai o întrebare pentru noi? Vă rugăm să o menționați în secțiunea de comentarii a acestui blog și vă vom contacta cât mai curând posibil.