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

Melindungi Metrik Media Sosial anda dengan Alat Cadangan - dummies

Melindungi Metrik Media Sosial anda dengan Alat Cadangan - dummies

Jika anda telah memulakan jejak sosial metrik media dan menikmati kurniaan data yang kini dapat dilihat, dihidupkan, dan digunakan, anda mungkin tertanya-tanya apa yang mungkin menyebabkan kemurungan! Mudah: kehilangan data. Katakanlah bahawa anda mempunyai masalah tapak atau entah bagaimana kehilangan akses ke tapak atau data anda. Adakah anda mempunyai sandaran anda ...

Laman web baru? Menarik Tumpuan Media Sosial Lalu Lintas dan Meningkat - dummies

Laman web baru? Menarik Tumpuan Media Sosial Lalu Lintas dan Meningkat - dummies

Mana-mana kempen baru, laman web, akaun Twitter, halaman Facebook, atau item lain yang anda ingin ukur dengan metrik media sosial bermula pada sifar. Nombor ini boleh membuat anda merasa seperti anda bercakap dengan tidak sah, bercakap dengan diri anda atau anda tersembunyi dari pandangan. Perasaan ini boleh membawa kepada pengasingan secara keseluruhan ...

Meracuni Google Spider - dummies

Meracuni Google Spider - dummies

Anda sentiasa dapat mencari orang yang ingin menyimpang dari lurus dan sempit. Ya, mereka adalah orang bodoh yang terlibat dalam taktik pengoptimuman berisiko yang bertujuan untuk menggerakkan PageRank secara artifisial, memanipulasi pesanan halaman hasil carian di Google, dan mendapatkan kelebihan yang tidak adil dalam indeks. Google, dengan reputasi yang luar biasa untuk melindungi, ...

Pilihan Editor

Mengukur Pengunjung Lama Menginap di Laman Web Anda - dummies

Mengukur Pengunjung Lama Menginap di Laman Web Anda - dummies

Di laman web anda memberikan wawasan yang penting. Anda boleh memikirkan sama ada pengunjung sedang melihat cepat, kemudian pergi, atau sama ada mereka bertahan lebih lama dan sebenarnya membaca bahan dalam talian anda dengan tujuan untuk mengambil tindakan. Jika majoriti pelawat laman web anda tidak ...

Pemasaran web: Cara Menilai Layouts dengan Peta Haba - dummies

Pemasaran web: Cara Menilai Layouts dengan Peta Haba - dummies

Laman web perniagaan sangat mirip dengan merancang kedai dengan pemasaran produk dalam fikiran. Malah, laman web anda benar-benar adalah kedai - kedai maya di Internet. Rangkaian kedai runcit telah menghabiskan berjuta-juta dolar dalam penyelidikan pasaran, menonton dan mendokumentasikan bagaimana pembeli memasuki kedai, belok kanan atau kiri, dan ...

Analitik web Untuk Menipu Cheat Sheet - dummies

Analitik web Untuk Menipu Cheat Sheet - dummies

Melakukan analisis laman web tidak perlu meletihkan dan intensif masa. Anda boleh meringkaskan prestasi keseluruhan laman web anda dengan cepat - jika anda tahu apa yang perlu dicari. Alat analisis web percuma dan kos rendah boleh membantu anda mengukur kejayaan laman web anda, dan anda boleh menjana perujuk tapak dengan pelbagai cara yang tidak mungkin ...

Pilihan Editor

Cara Memaksimumkan Ruang pada Laman Web - dummies

Cara Memaksimumkan Ruang pada Laman Web - dummies

Terlalu terhad, anda boleh membuat penggunaan kreatif beberapa teknologi di luar sana untuk memaksimumkan antara muka anda. Untuk setiap teknik berikut yang diterangkan, terdapat banyak laman web yang menawarkan sampel kod, forum, dan sumber untuk membantu anda memulakan. Accordions. Antara muka akordion membolehkan ...

Cara Mendapatkan Corak CSS3 Online - dummies

Cara Mendapatkan Corak CSS3 Online - dummies

Mencipta kesan mudah untuk laman CSS3 menggunakan gradien mudah . Walau bagaimanapun, mewujudkan sesuatu yang benar-benar hebat memerlukan masa dan keupayaan artistik. Kebanyakan pemaju benar-benar tidak mempunyai masa atau kemahiran yang diperlukan untuk mencipta sesuatu yang mempesonakan menggunakan CSS3 sahaja (atau CSS3 digabungkan dengan grafik) - di sinilah pereka bermain. Ramai pereka yang membolehkan anda ...

Bagaimana Mengoptimumkan Aplikasi CSS3 dengan Modernizr - dummies

Bagaimana Mengoptimumkan Aplikasi CSS3 dengan Modernizr - dummies

Terdapat banyak pelayar dan versi pelayar yang berbeza gunakan hari ini. Tidak semua daripada mereka adalah optimum untuk CSS3. Inilah tempat Modernizr dimainkan. Pemajunya menyebutnya "perpustakaan JavaScript yang mengesan ciri HTML5 dan CSS3 dalam pelayar pengguna. "Anda menggunakan Modernizr untuk melaksanakan tugas secara pilihan dan memasukkan ciri aplikasi berdasarkan ...