Bu yazıda, bir C programı kullanarak çalışma zamanında kullanıcıdan girdi almayı öğrenecek ve kodlayacaksınız. Burada mevcut olan programların listesi (kullanıcı giriş tipine göre):
- Tam Sayı Girdisi Alma
- Karakter Girdisi Alma
- String Girdisi Alma
Tam Sayı Girdisi Alın
C programlamada kullanıcıdan tamsayı girdisi almak veya almak için scanf() fonksiyonunu kullanılır. Bu fonksiyon iki argüman alır. Birincisi, girdi türünün biçim belirtecidir. İkinci parametre ise giriş verileriyle ilgili değişkenin adresidir. Aşağıda verilen programa bir göz atalım:
1 2 3 4 5 6 7 8 9 10 11 12 13 | #include<stdio.h> int main() { int sayi; printf("Bir sayi girin: "); scanf("%d", &sayi); printf("\nGirdiginiz sayi: %d", sayi); return 0; } |
Çıktı:
1 2 3 4 5 | Bir sayi girin: 123 Girdiginiz sayi: 123 |
Karakter Girdisi Alma
Şimdi, çalışma zamanında kullanıcıdan bir karakter tipi girdi verisi alan başka bir program oluşturalım:
1 2 3 4 5 6 7 8 9 10 11 12 | #include<stdio.h> int main() { char ch; printf("Bir karakter gir: "); scanf("%c", &ch); printf("\nGirilen karakter: %c", ch); return 0; } |
Çıktı:
1 2 3 4 5 | Bir karakter gir: a Girilen karakter: a |
String Girdisi Alma
Bu program, kullanıcıdan gelen dize girişini tarar. Yani kullanıcıdan gelen birden fazla karakter girişidir. Örneğin, bu tasarinkodlama.com’dur:
1 2 3 4 5 6 7 8 9 10 11 12 | #include<stdio.h> int main() { char str[100]; printf("Birseyler girin: "); gets(str); printf("\nGirdiginiz dizge: %s", str); return 0; } |
Çıktı:
1 2 3 4 5 | Birseyler girin: www.tasarimkodlama.com Girdiginiz dizge: www.tasarimkodlama.com |









int girdi;
char film_ismi[100];
scanf(“%d”,&girdi);
printf(“%d”,girdi);
printf(“film ismi : “);
gets(film_ismi);
Hocam iyi günler böyle bir şey yazınca (gets yerine scanf(“%[^\n]s”,film_ismi kullanınca da) int i alıyorum fakat direk program sonlandırılıyor. string veri tipini alamıyorum. Var mıdır bilginiz bu konu hakkında ?