У овом чланку ћете сазнати више о гото статменту, како он функционише и зашто га треба избегавати.
У програмирању на Ц ++, израз гото се користи за мењање нормалног редоследа извршавања програма преношењем контроле у неки други део програма.
Синтакса гото изјаве
гото лабел;……… лабел: статемент;…
У горњој синтакси ознака је идентификатор. Када goto label;
се наиђе, контрола програма прескаче label:
и извршава код испод ње.
Пример: гото Изјава
// This program calculates the average of numbers entered by user. // If user enters negative number, it ignores the number and // calculates the average of number entered before it. # include using namespace std; int main() ( float num, average, sum = 0.0; int i, n; cout <> n; for(i = 1; i <= n; ++i) ( cout << "Enter n" << i <> num; if(num < 0.0) ( // Control of the program move to jump: goto jump; ) sum += num; ) jump: average = sum / (i - 1); cout << "Average = " << average; return 0; )
Оутпут
Максималан број улаза: 10 Унесите н1: 2.3 Унесите н2: 5.6 Унесите н3: -5.6 Просек = 3.95
Можете да напишете било који Ц ++ програм без употребе goto
израза и обично се сматра добром идејом да их не користите.
Разлог за избегавање гото изјаве
Изјава гото даје моћ да скочите на било који део програма, али логику програма чини сложеном и замршеном.
У савременом програмирању, гото изјава се сматра штетном конструкцијом и лошом програмском праксом.
Гото израз се може заменити у већини Ц ++ програма употребом израза бреак и цонтинуе.