Rumah Kewangan Peribadi Memecah Daripada Gelung Tanpa Infin dalam Program Bahasa C Anda - dummies

Memecah Daripada Gelung Tanpa Infin dalam Program Bahasa C Anda - dummies

Video: greedy 2024

Video: greedy 2024
Anonim

Apabila anda masuk ke gelang pengaturcaraan dalam bahasa C, anda dapati kegembiraan dan ketakutan tanpa henti, atau tak terhingga , gelung. Gelung ini terus selama-lamanya kerana sama ada programmer terlupa memasukkan cara untuk keluar dari gelung atau keadaan keluar tidak pernah dipenuhi. Sama ada jalan, gelung tidak berkesudahan adalah rasa sakit.

Tetapi kadang-kadang program C mengandungi gelung yang tidak berkesudahan dengan tujuan. Jenis pembinaan ini mungkin kelihatan aneh, tetapi asas banyak program moden adalah bahawa mereka duduk dan berputar sementara mereka menunggu sesuatu yang berlaku. Gelung ini kelihatan seperti ini:

untuk (;;) {check_Keyboard (); check_Mouse (); check_Events (); check_System ();}

Perhatikan bahwa kondisi dalam kurungan setelah kata kunci untuk hilang kata kunci, yang baik-baik saja. Hasilnya adalah gelung yang tidak berkesudahan di mana penyataannya diperiksa berulang-ulang, satu demi satu: Program ini mencari aktiviti di suatu tempat. Apabila aktiviti ditemui, program dimatikan dan melakukan sesuatu yang menarik. Tetapi kebanyakan masa, program itu hanya duduk dalam jenis gelung ini, menunggu sesuatu berlaku. (Pemproses kata biasa boleh melakukan beribu-ribu gelung ini kerana ia menunggu di antara ketukan kekunci seperti yang anda sedang menaip.)

Masukkan kod sumber ini dan simpannya ke cakera. Kemudian kumpulkan dan jalankan program ini:

#include int main () {char ch; meletakkan ("Program Menaip"); meletakkan ("Taipkan:"); untuk (;;) {ch = getchar ();} return (0);}

Ya, anda boleh menaip. Dan anda dapat melihat teks anda di skrin. Tetapi bagaimana anda berhenti?

Untuk berhenti, anda perlu memecahkan gelung yang tidak berkesudahan, yang boleh dilakukan dengan menekan Ctrl + C. Tetapi itu bukan cara anda mahu program anda berfungsi. Sebaliknya, keadaan keluar mesti ditakrifkan untuk gelung, di mana kata kunci pecah masuk.

Pemaju bahasa C tahu bahawa, dalam sesetengah keadaan, satu gelung mesti dipecahkan berdasarkan syarat yang tidak dapat diramalkan atau ditetapkan di dalam pernyataan. Jadi, dalam kebijaksanaan mereka, mereka memperkenalkan kata kunci pemecah.

Apa yang berlaku ialah dengan segera berhenti gelung (mana-mana gelung bahasa C, bukan hanya untuk gelung). Apabila komputer melihat rehat, ia hanya menganggap bahawa gelung itu selesai dan terus seolah-olah keadaan akhir gelung dipenuhi:

#include int main () {char ch; meletakkan ("Program Menaip"); meletakkan ("Taipkan, tekan '~' untuk keluar:"); untuk (;;) {ch = getchar (); jika {ch == '~'} {break;}} kembali (0);}

Sekarang keadaan keluar ditakrifkan. Jika perbandingan dalam Talian 12 memeriksa untuk melihat sama ada watak ~ (tilde) dimasukkan. Sekiranya sedemikian, gelung itu dihentikan oleh kenyataan rehat.

Tukar kod sumber anda agar sepadan dengan apa yang baru ditunjukkan. Menyusun dan lari. Sekarang, anda boleh menghentikan program dengan menaip ~ aksara.

Perhatikan bahawa kenyataan jika boleh juga ditulis tanpa penyokong:

jika (ch == '~') pecah;

Baris ini mungkin sedikit lebih mudah dibaca daripada menggunakan pendakap.

Memecah Daripada Gelung Tanpa Infin dalam Program Bahasa C Anda - dummies

Pilihan Editor

Cara RSVP ke Acara di Ning - patung

Cara RSVP ke Acara di Ning - patung

Di Ning, setelah anda menemukan persidangan itu mencari atau parti yang ingin anda hadiri, anda perlu RSVP untuk acara tersebut supaya pihak penganjur boleh mendapatkan jumlah minuman, makanan dan barang yang sesuai untuk semua peserta - dan juga rakan-rakan rangkaian anda yang tahu anda akan pergi . Untuk RSVP ...

Cara Menghantar Mesej Peribadi di Ning - dummies

Cara Menghantar Mesej Peribadi di Ning - dummies

Mesej hanya dengan dua kumpulan orang: rakan anda dan Pentadbir (termasuk Pencipta Rangkaian). Mesej peribadi Ning memberi anda cara yang ideal sebagai ahli untuk berkomunikasi dengan ahli-ahli lain dalam rangkaian tanpa semua orang mengetahui tentangnya:

Pilihan Editor

Dimensi web untuk Infographics anda - dummies

Dimensi web untuk Infographics anda - dummies

Cabaran untuk menilai infographic untuk web adalah saiz reka bentuk kini sangat berubah , tiada standard untuk bercakap. "Reka bentuk responsif" yang dibawa dengan kemunculan HTML5 mengubah landskap reka bentuk web secara kekal. Tidak seperti grafik yang dicetak, di mana setiap orang yang melihatnya mengalaminya dalam saiz yang sama, ...

Pilihan Editor

Bagaimana Menganalisis Sentimen dan Kesan Penglibatan Media Sosial Anda - pemahaman

Bagaimana Menganalisis Sentimen dan Kesan Penglibatan Media Sosial Anda - pemahaman

Komuniti mempunyai tindak balas yang positif, negatif, atau neutral kepada anda dan jenama anda boleh membantu anda menentukan bagaimana untuk terus mengendalikan pendekatan penglibatan media sosial anda. Bagaimana anda mengukur pesaing dalam minda penonton dalam talian anda adalah satu lagi faktor penting untuk dinilai. Anda juga boleh memanfaatkan ...

Cara Tanya Ahli Komuniti Dalam Talian untuk Ulasan - dummies

Cara Tanya Ahli Komuniti Dalam Talian untuk Ulasan - dummies

Tidak ada yang salah dengan menjangkau para blogger, penulis, dan ahli komuniti dalam talian lain dan bertanya kepada mereka jika mereka berminat untuk menyemak jenama atau komuniti anda. Perbezaan antara penginjilan jenama dan melakukan kajian semula adalah bahawa penginjil jenama tidak mengkaji: Mereka mempromosikan, dan mereka diberi pampasan sebagai pertukaran untuk promosi mereka. Penilai, di ...

Cara Mengiklankan Syarikat Anda melalui Penajaan Blog - patung

Cara Mengiklankan Syarikat Anda melalui Penajaan Blog - patung

Untuk cara percikan untuk dilihat blog atau laman web, pertimbangkan menaja laman web ini. Penajaan untuk blog popular telah mendapat banyak perhatian dalam blogosphere. Sesetengah blogger menyeru menerima tajaan "menjual keluar," tetapi yang lain menganggapnya sebagai cara terbaik untuk mendapatkan bayaran untuk melakukan apa yang mereka suka. Penajaan cenderung kepada ...