Saya mencoba mencetak tabel kotak integer. Tujuannya adalah untuk menulis program yang berhenti setelah setiap 24 kotak dan meminta pengguna untuk mencetak ENTER untuk melanjutkan. Ini tidak terlalu kompleks, saya punya "...

c
3
tommie997 5 April 2021, 18:47

1 menjawab

Jawaban Terbaik

Setelah panggilan ke scanf, ada garis baru yang tersisa di buffer input. Garis baru ini diambil pada panggilan pertama ke getchar menyebabkannya keluar dari loop while.

Anda ingin mengkonsumsi baris baru setelah panggilan scanf dengan looping getchar sampai Anda mendapatkan baris baru.

scanf("%d", &n);
while (getchar() != '\n');
1
dbush 5 April 2021, 15:51