Rumah Keuangan Pribadi Memecahkan Out of the Infinite Loop dalam Program Bahasa C Anda - dummies

Memecahkan Out of the Infinite Loop dalam Program Bahasa C Anda - dummies

Video: String Theory Explained – What is The True Nature of Reality? 2024

Video: String Theory Explained – What is The True Nature of Reality? 2024
Anonim

Saat Anda masuk ke rangkaian pemrograman dalam bahasa C, Anda menemukan kegembiraan dan ketakutan dari lingkaran tak berujung, atau tak terbatas . Loops ini berlanjut selamanya karena baik programmer lupa memasukkan cara keluar dari loop atau kondisi exit tidak pernah terpenuhi. Either way, loop tak berujung adalah rasa sakit.

Tapi terkadang program C berisi loop tanpa akhir yang sengaja. Jenis konstruksi ini mungkin tampak aneh, namun dasar dari banyak program modern adalah mereka duduk dan berputar saat mereka menunggu sesuatu terjadi. Lingkaran itu mungkin terlihat seperti ini:

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

Perhatikan bahwa kondisi di dalam tanda kurung setelah kata kunci hilang, tidak apa-apa. Hasilnya adalah lingkaran tak berujung di mana pernyataan diperiksa berulang kali, satu per satu: Program ini mencari aktivitas di suatu tempat. Saat aktivitas ditemukan, program berjalan dan melakukan sesuatu yang menarik. Tapi sebagian besar waktu, program hanya duduk di jenis loop, menunggu sesuatu terjadi. (Pengolah kata biasa dapat melakukan ribuan loop ini saat menunggu antara penekanan tombol saat Anda mengetik.)

Masukkan kode sumber ini dan simpan ke disk. Kemudian kompilasi dan jalankan program:

#include int main () {char ch; puts ("Typing Program"); puts ("Type away:"); untuk (;;) {ch = getchar ();} kembali (0);}

Ya, Anda bisa mengetik. Dan Anda bisa melihat teks Anda di layar. Tapi bagaimana Anda berhenti?

Untuk berhenti, Anda harus memecahkan loop tak berujung, yang bisa dilakukan dengan menekan Ctrl + C. Tapi bukan itu cara Anda ingin program Anda bekerja. Sebagai gantinya, kondisi keluar harus ditentukan untuk loop, di mana kata kunci jeda mulai diputar.

Pengembang bahasa C tahu bahwa, dalam beberapa kasus, sebuah loop harus dipecah berdasarkan kondisi yang tidak dapat diprediksi atau disiapkan di dalam untuk pernyataan. Jadi, dalam kebijaksanaan mereka, mereka mengenalkan kata kunci jeda.

Apa yang dimaksud dengan istirahat adalah berhenti dari satu lingkaran (lingkaran bahasa C, bukan hanya untuk loop). Ketika komputer melihat break, itu hanya mengasumsikan bahwa loop selesai dan berlanjut seolah-olah kondisi akhir loop terpenuhi:

#include int main () {char ch; puts ("Typing Program"); puts ("Type away; tekan '~' untuk berhenti:"); untuk (;;) {ch = getchar (); if (ch == '~') {break;}} return (0);}

Sekarang kondisi keluar didefinisikan. Jika perbandingan di Line 12 memeriksa apakah karakter ~ (tilde) dimasukkan. Jika demikian, loop dihentikan oleh break statement.

Ubah kode sumber Anda sehingga sesuai dengan yang baru saja ditunjukkan. Kompilasi dan jalankan. Sekarang, Anda bisa menghentikan program dengan mengetikkan ~ karakter.

Perhatikan bahwa pernyataan if juga bisa ditulis tanpa kawat gigi:

if (ch == '~') break;

Baris ini mungkin sedikit lebih mudah dibaca daripada menggunakan kawat gigi.

Memecahkan Out of the Infinite Loop dalam Program Bahasa C Anda - dummies

Pilihan Editor

Bertahan dalam Zombie Sieges di Minecraft - dummies

Bertahan dalam Zombie Sieges di Minecraft - dummies

Bermasalah dengan zombie yang menyerang desa Anda pada malam hari di Minecraft? Pelajari bagaimana untuk membela diri, menyembuhkan penduduk desa zombie, dan pulihkan dunia Anda!

Zaman Batu di Minecraft - dummies

Zaman Batu di Minecraft - dummies

Tonggak penting dalam mode Minecraft Survival, dan yang dicapai oleh beberapa pemain di Hari pertama, mencapai Zaman Batu. Setelah Anda membuat pickax kayu dan Anda bisa menemukan gua atau menggali lubang, item dalam tabel berikut tersedia untuk Anda. Sebagian besar bahan berbasis batu lebih padat dari yang lain ...

Zaman Looting di Minecraft - dummies

Zaman Looting di Minecraft - dummies

Anda mencapai Usia Looting di Minecraft di awal permainan - kadang-kadang, bahkan paralel untuk mencapai Era Kayu. Anda mulai dengan membunuh musuh untuk menjarah, dan dengan menggunakan jarahan untuk memperbaiki repertoar kerajinan Anda. Lebih banyak item kemudian tersedia bagi Anda, seperti tercantum dalam tabel. Semua alat meningkatkan jumlah ...

Pilihan Editor

Infografis tepat waktu: Berbagi Breaking News - dummies

Infografis tepat waktu: Berbagi Breaking News - dummies

Walaupun infografik Anda tidak mungkin menjadi satu-satunya sumber berita, Ini bisa membantu pemahaman pembaca akan sebuah acara berita. Misalnya, banyak orang belajar di Twitter pada bulan Oktober, 2011 bahwa pendiri Apple Steve Jobs telah meninggal dunia. Infografis tidak akan menjadi orang pertama yang mendengarnya. Tapi orang-orang ...

Pilihan Editor

GED Contoh Pertanyaan: Pertanyaan Ilmu Fisik - dummies

GED Contoh Pertanyaan: Pertanyaan Ilmu Fisik - dummies

Ketika Anda mencapai bagian Sains GED, Anda akan diharapkan memiliki pengetahuan umum di semua cabang Ilmu Pengetahuan, termasuk Ilmu Fisika. Berikut adalah contoh jenis pertanyaan yang mungkin Anda hadapi pada hari ujian. Kecepatan dan Kecepatan Ada perbedaan antara kecepatan dan kecepatan, meskipun terkadang Anda ...

Latihan GED RLA: Reading Comprehension - dummies

Latihan GED RLA: Reading Comprehension - dummies

Cara terbaik untuk mempersiapkan bagian pemahaman bacaan GED Tes RLA adalah melakukan sebanyak mungkin pertanyaan latihan. Simak sampel untuk melihat apa yang akan Anda hadapi pada hari ujian. Contoh Pertanyaan Pertanyaan 1-6 mengacu pada bagian berikut. Fasilitas untuk Akses ke Perusahaan Kreatif (FACE) Awalnya didirikan ...

GED Penalaran melalui Latihan Keterampilan Membaca Bahasa Seni - dummies

GED Penalaran melalui Latihan Keterampilan Membaca Bahasa Seni - dummies

Komponen bacaan Penalaran meskipun Bahasa Seni Bagian pada GED terdiri dari kutipan dari fiksi dan nonfiksi. Setiap kutipan diikuti oleh beberapa item pilihan berdasarkan bahan bacaan. Untuk pertanyaan di bagian ini, pilih satu jawaban terbaik untuk setiap pertanyaan. Bekerja dengan hati-hati, tapi jangan terlalu banyak menghabiskan waktu ...