Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Kami Boleh Mengesan dengan Boleh Diharapkan Semi-Kolon Ditamatkan C Untuk dan Sementara Gelung?

Bagaimanakah Kami Boleh Mengesan dengan Boleh Diharapkan Semi-Kolon Ditamatkan C Untuk dan Sementara Gelung?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-19 18:10:10922semak imbas

How Can We Reliably Detect Semi-Colon Terminated C   For and While Loops?

Mengesan Separuh Kolon Ditamatkan C untuk & Sementara Gelung melalui Ungkapan Biasa

Dalam Python, padanan C untuk dan gelung while ditamatkan dengan separuh -kolon menggunakan ungkapan biasa boleh mencabar kerana kemungkinan kurungan bersarang dalam gelung kenyataan.

Satu pendekatan untuk masalah ini tanpa menggunakan ungkapan biasa adalah dengan menggunakan algoritma mudah:

  1. Mulakan pos pembilang kedudukan untuk menunjuk kepada aksara sejurus sebelum kurungan pembukaan gelung.
  2. Tetapkan pembilang kurungan terbuka openBr kepada 0.
  3. Naikkan pos dan baca setiap aksara.
  4. Jika aksara ialah kurungan pembuka, naikkan openBr.
  5. Jika aksara itu ialah kurungan penutup, kurangkan openBr.
  6. Ulang langkah 3-5 sehingga openBr kembali kepada 0.
  7. Berhenti di pos semasa, yang kini menghala ke kurungan penutup gelung.

Pada ketika ini, sahkan kehadiran koma bertindih selepas kurungan penutup untuk menentukan sama ada penamatan gelung adalah sah.

Algoritma ini menyediakan kaedah yang mudah dan boleh dipercayai untuk mengesan koma bertindih ditamatkan C untuk dan gelung sementara, menghapuskan kerumitan yang dikaitkan dengan ungkapan biasa.

Atas ialah kandungan terperinci Bagaimanakah Kami Boleh Mengesan dengan Boleh Diharapkan Semi-Kolon Ditamatkan C Untuk dan Sementara Gelung?. 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