Latest web development tutorials

Laporan C ++ goto

C ++ lingkaran C ++ lingkaran

Pernyataangoto memungkinkan kontrol tanpa syarat pernyataan berlabel dalam fungsi yang sama.

Catatan: Dalam bahasa pemrograman, tidak merekomendasikan penggunaan pernyataan goto.Karena itu membuat sulit untuk melacak aliran kontrol dari program, membuat program sulit untuk memahami dan sulit untuk memodifikasi. Setiap program yang menggunakan laporan goto dapat ditulis kembali sebagai kata-kata tidak memerlukan penggunaan pernyataan goto.

tatabahasa

Pernyataangoto di C ++ sintaks:

goto label;
..
.
label: statement;

Di sini, label diakui identifier label pernyataan dapat menjadi apa pun selain C ++ kata kunci dalam teks biasa.Pernyataan berlabel dapat pernyataan apapun, ditempatkan dalam pengenal dan usus (:) belakang.

diagram alir

Laporan C ++ goto

contoh

#include <iostream>
using namespace std;
 
int main ()
{
   // 局部变量声明
   int a = 10;

   // do 循环执行
   LOOP:do
   {
       if( a == 15)
       {
          // 跳过迭代
          a = a + 1;
          goto LOOP;
       }
       cout << "a 的值:" << a << endl;
       a = a + 1;
   }while( a < 20 );
 
   return 0;
}

Ketika kode di atas dikompilasi dan dijalankan, menghasilkan hasil sebagai berikut:

a 的值: 10
a 的值: 11
a 的值: 12
a 的值: 13
a 的值: 14
a 的值: 16
a 的值: 17
a 的值: 18
a 的值: 19

Pernyataan goto merupakan peran yang baik adalah untuk keluar rutin sangat bersarang. Sebagai contoh, perhatikan potongan kode berikut:

for(...) {
   for(...) {
      while(...) {
         if(...) goto stop;
         .
         .
         .
      }
   }
}
stop:
cout << "Error in program.\n";

Penghapusangoto akan menyebabkan beberapa tes tambahan dilakukan.Sebuah pernyataanistirahat sederhana di sini tidak berperan, karena menyebabkan program untuk keluar dari lingkaran terdalam.

C ++ lingkaran C ++ lingkaran