Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Memecahkan Gelung dari Dalam Pernyataan Suis dalam C?

Bagaimana untuk Memecahkan Gelung dari Dalam Pernyataan Suis dalam C?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-30 03:35:28485semak imbas

How to Break Out of Loops from Within Switch Statements in C  ?

Memecahkan Gelung daripada Dalam Suis

Dalam C , kadangkala perlu untuk keluar daripada gelung dari dalam pernyataan suis. Dalam coretan kod yang disediakan, pengguna ingin keluar dari gelung apabila keadaan mesej ditetapkan kepada SELESAI.

Menggunakan Pernyataan goto

Cara paling mudah untuk mencapai ini adalah dengan menggunakan pernyataan goto, seperti yang ditunjukkan dalam kod di bawah:

<code class="c++">while ( ... ) {
   switch( ... ) {
     case ...:
         goto exit_loop;

   }
}
exit_loop: ;</code>

Dalam contoh ini, pernyataan goto melompat ke label exit_loop apabila keadaan ditetapkan kepada DONE, dengan berkesan memecahkan kedua-duanya pernyataan suis dan gelung while.

Menggunakan Pembolehubah Bendera

Pendekatan alternatif ialah menggunakan pembolehubah bendera. Ini boleh menjadi pembolehubah boolean yang ditetapkan kepada benar apabila syarat yang diingini dipenuhi dalam pernyataan suis. Gelung kemudiannya boleh dipecahkan dengan menyemak pembolehubah bendera selepas pernyataan suis.

Berikut ialah contoh:

<code class="c++">bool should_exit = false;

while ( ... ) {
   switch( ... ) {
     case ...:
         should_exit = true;
         break;
     // ... more stuff ...
     case DONE:
         should_exit = true;
         break;
   }

   if (should_exit) {
       break;
   }
}</code>

Dalam kes ini, bendera should_exit ditetapkan kepada benar apabila keadaan adalah ditetapkan kepada SELESAI dan gelung dipecahkan apabila bendera disemak selepas pernyataan suis.

Atas ialah kandungan terperinci Bagaimana untuk Memecahkan Gelung dari Dalam Pernyataan Suis dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn