Berikut ini adalah pertanyaan dari keyshaaliqa pada mata pelajaran TI untuk jenjang Sekolah Menengah Atas
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
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