CodeBlanks Logo Icon CodeBlanks

scanf

  • C kursu
  • Başlangıç
  • Ders 31/116
  • 4 dk

scanf ile kullanıcıdan girdi almayı öğrenirsin.

scanf ile girdi almak

scanf fonksiyonu klavyeden girdi okur. Biçim belirteci okunacak türü söyler; ikinci bağımsız değişken ise değişkenin adresi olmalıdır. Adres için & işareti kullanılır.

int age;
printf("Yaşın: ");
scanf("%d", &age);
printf("Merhaba, %d yaşındasın!\n", age);

Ekrana önce Yaşın: yazılır, kullanıcı bir sayı girer ve Enter'a basar. scanf bu değeri age'in bellek adresine yazar. & işaretini unutmak yaygın bir hatadır; bu durumda program çökebilir.

scanf dönüş değeri

scanf başarılı okunan öğe sayısını döndürür. Kullanıcı sayı yerine harf girerse, okuma başarısız olur ve dönüş değeri 0 olur. Bu yüzden girdiyi denetlemek iyi bir alışkanlıktır.

int n;
int result = scanf("%d", &n);
if (result == 1) {
    printf("Okundu: %d\n", n);
} else {
    printf("Geçersiz girdi!\n");
}

Bu örnekteki if deyimini sonraki bölümde detaylı göreceksin; şimdilik scanf'in dönüş değerini kontrol etmenin mümkün olduğunu bilmen yeterli.

Uygulama Yaş girdisi al ve yazdır

Bir C programı yaz. int age; tanımla. printf ile bir istem yazdır, scanf("%d", &age); ile girdi al, sonra printf ile sonucu %d belirteciyle yazdır. #include <stdio.h> başta olsun.

Başlangıç kodu

main.c
#include <stdio.h>

int main(void) {
    // age tanımla, girdi al ve yazdır
    return 0;
}

Örnek çözüm

main.c
#include <stdio.h>

int main(void) {
    int age;
    printf("Yaşın: ");
    scanf("%d", &age);
    printf("Girdiğin yaş: %d\n", age);
    return 0;
}

Beklenen çıktı

Yaşın: Girdiğin yaş: 25

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Adres işaretini ekle

Soru
scanf("%d", ____age);
Cevap
scanf("%d", &age);

Açıklama: & işareti age'in adresini verir.

2 scanf("%d", &n) çağrısı ne yapar?

main.c
int n;
scanf("%d", &n);
  • n'in adresini yazar
  • Ekrana tam sayı yazar
  • n'i sıfırlar
  • Klavyeden tam sayı okur Doğru cevap

Açıklama: scanf klavyeden tam sayı okuyup n'e yazar.

3 scanf parçalarını eşleştir

Kavram Anlamı
%d Tam sayı okur
&age Adres verir
scanf Girdi fonksiyonu
printf Çıktı fonksiyonu

Başlangıç bölümündeki tüm dersler