Programmer pemula kadang menghadapi di mana ketika menggunakan scanf untuk input kalimat (string), semua karakter yang terketik dibelakang spasi akan diabaikan. Ketika dicetak kembali, hanya karakter didepan spasi yang akan ditampilkan. Hal ini menyulitkan programer pemula yang ingin belajar bahasa C. oleh karena itu, scanf dianggap tidak dapat menginput spasi. Bahkan ada beberapa saran untuk menginput string dengan menggunakan fungsi gets, yang ternyata cukup berbahaya jika digunakan melebihi batasan memori yang disediakan. Selain itu programer pemula harus menghafalkan banyak fungsi hanya sekedar untuk input yang menggunakan spasi.
Dibawah ini terdapat contoh kasus
sering dialami oleh programer saat menginput kalimat dengan menggunakan pasi. Namun contoh berikutnya, Anda akan menemukan solusi penggunaan scanf untuk menginput string yang mengandung spasi.
Program dibawah ini menggunakan fungsi scanf untuk menginput nama. Jika nama yang ditulis terdiri dari dua suku kata, maka yang akan diucetak hanya suku kata pertama. Bisa jadi hal ini membuat anda enggan menggunakan scanf dalam input string

# include <stdio.h>
Int main(){
Char nama[25];
Printf(“Tuliskan nama(max 25 karakter);”);
Scanf(“%s”,nama);
Printf(“Nama yang anda ketik: %s”,bnama);
Retrun 0;
}

Selanjutnya program diatas di-compile dan dieksekuasi. Contoh dibawah ini masukkan dua suku kata untuk nama, yaitu Danu Wijay. Akan tetapi, apabila dicetak kembal, hanya sukukata pertama yang ditampilkan.
# gcc string \.c –o string
# ./string


Tuliskan nama (max 25 karakter): Danau Wijaya
Nama yang anda ketik:Danu

Post a Comment Blogger Disqus

 
Top