Berikut ini adalah pertanyaan dari keyshaaliqa pada mata pelajaran TI untuk jenjang Sekolah Menengah Atas
![After entering name and student number, program will exit to prompt. gender=getchar() seems to be never executed. Explain why?](https://id-static.z-dn.net/files/dbb/7e3b34f402f08bb9cd171c11323aa886.png)
Jawaban dan Penjelasan
Berikut ini adalah pilihan jawaban terbaik dari pertanyaan diatas.
Jawaban Singkat:
Karena Input Buffer belum di Flush
Penjelasan:
Fungsi getchar(); adalah fungsi input yang akan mengambil nilai dari Input Buffer. Alasan kenapa program lansung selesai, itu karena getchar(); sebenarnya sudah mendapatkan nilai input dari sisa buffer fungsi scanf();
Contoh:
Dalam fungsi scanf(); sebelumnya sudah mengimput "Hello World", otomatis dalam Buffer akan ada residu dari "Hello World" atau "\n". Dan ketika getchar(); dieksekusi, ia akan lansung mengambil apapun yang ada di dalam buffer dan eksekusi-nya akan lansung selesai.
Beberapa solusi yang bisa dilakukan adalah sebagai berikut:
- Gunakan fungsi getchar()sebelum fungsiscanf(),
- Gunakan fungsi getch(), atau
- Gunakan fungsi fflush(stdin) untuk membersihkan input buffer
![Jawaban Singkat:Karena Input Buffer belum di FlushPenjelasan:Fungsi getchar(); adalah fungsi input yang akan mengambil nilai dari Input Buffer. Alasan kenapa program lansung selesai, itu karena getchar(); sebenarnya sudah mendapatkan nilai input dari sisa buffer fungsi scanf();Contoh:Dalam fungsi scanf(); sebelumnya sudah mengimput](https://id-static.z-dn.net/files/d76/ae67745a372e56a128f18eb9ce417129.jpg)
Semoga dengan pertanyaan yang sudah terjawab oleh AryTevin dapat membantu memudahkan mengerjakan soal, tugas dan PR sekolah kalian.
Apabila terdapat kesalahan dalam mengerjakan soal, silahkan koreksi jawaban dengan mengirimkan email ke yomemimo.com melalui halaman Contact
Last Update: Sat, 21 Jan 23