Pertanyaan 1
HASTRI PINDHA 9 Apr 2016, 19:55:00 mau nannya , itu kan char teks[13]
,yang 13 itu panjang karakter nya atau apa ya? soalnya input kalimat lebih dari 13 karakter masih kecetak ,makasih
ANONYMOUS 16 May 2016, 05:54:00 dengan menggunakan gets, untuk input string yang kedua selalu gagal, padahal buffer sudah dibersikhan dengan fflush(stdin). adakah alternatif solusi yang lain? atau mengapa fflush tidak bisa jadi solusi?
FREESTYLER 28 Aug 2017, 10:17:00 kang mau tanya, saya menggunakan gets(nama[i])
supaya bisa menggunakan spasi tapi si gets(nama[i])
ga bisa jalan malah langsung mengeksekusi printah selanjutnya itu knpa ya?
Tanggapan 1
Halo Hastri Pindha, bukan, 13 itu adalah panjang "string" dimana "string" itu merupakan class enkapsulasi dari array karakter, sedangkan 'char' (karakter) merupakan tipe data primitif, sehingga bisa disimpulkan bahwa, string itu terdiri dari beberapa karakter, sedangkan karakter itu berdiri sendiri. kalo string itu diapit oleh tanda petik dua ("_"), contoh:
"a", "assalamualaikum", "halo" dll.
sedangkan karakter itu diapit oleh tanda petik satu ('_'), contoh:
'a', 'hallo', 'assalamualaikum' dll.
sekarang, kenapa pada contoh diatas teks[13]
kata 'assalamualaikum' yang panjangnya 15 karakter (secara EYD) tapi sebenarnya hanya 1 karakter (secara pemrograman) sehingga bisa ditampilkan, karena length yang digunakan masih pada indeks ke-0, padahal indeks totalnya adalah 12, kenapa hanya sampai 12? padahal length yang diberikan adalah 13, karena indeks string dimulai dari nol (0). Jadi, jika ingin memakai semua length teks[13]
, maka silakan rubah codenya menjadi seperti ini:
char teks[13]={'a','s','s','a','l','a','m','u','a','l','a','i','k','u','m'};
maka nanti akan muncul notifikasi error "Too many initializers"
Kesimpulan: Jadi perbedaannya terletak di sini:
'a','s','s','a','l','a','m','u','a','l','a','i','k','u','m' tidak sama dengan 'assalamualaikum'
saya kira itu saja Hastri Pindha, thanks atas diskusinya
bersihinnya pake clrscr(); gan jangan pake itu
spasi yang dimaksud jeda waktu atau spasi untuk karakter?, kalo misal jeda waktu tinggal pake break; atau kalo mau pake spasi untuk karakter biasa dibuatkan variabel yang dikhususkan buat nampung spasi contoh (spasi=" "😉