CodeBlanks Logo Icon CodeBlanks

getchar ve putchar

  • C kursu
  • Başlangıç
  • Ders 33/116
  • 5 dk

getchar ve putchar ile tek karakter okuyup yazmayı öğrenirsin.

getchar ve putchar

getchar() klavyeden tek bir karakter okur ve int olarak döndürür. putchar(c) ise tek bir karakteri ekrana yazar. Bu ikisi, scanf ve printf'e göre daha sade ve hızlıdır.

int c = getchar();
putchar(c);

Kullanıcı bir harf girip Enter'a basar; getchar ilk karakteri alır. Dönüş türü char değil int'tir, çünkü dosya sonu durumunda EOF (genellikle -1) dönebilir. Bu ayırım karşılaştırmalarda önem taşır.

Karakter döngüsü

getchar ve putchar birlikte basit bir karakter yankı programı oluşturur. EOF döndüğünde döngüyü durdurursun.

int c;
while ((c = getchar()) != EOF) {
    putchar(c);
}

Bu döngü kullanıcı Ctrl+D (Linux/Mac) veya Ctrl+Z (Windows) başana kadar her girilen karakteri geri yazar. Döngü koşulunu sonraki bölümde detaylı göreceksin.

Uygulama Karakteri yankıla

Bir C programı yaz. int c; tanımla. c = getchar(); ile bir karakter oku. putchar(c); ile aynı karakteri ekrana yaz. Ardından putchar('\n'); ile yeni satıra geç. #include <stdio.h> başta olsun.

Başlangıç kodu

main.c
#include <stdio.h>

int main(void) {
    // c tanımla, getchar ile oku, putchar ile yaz
    return 0;
}

Örnek çözüm

main.c
#include <stdio.h>

int main(void) {
    int c;
    c = getchar();
    putchar(c);
    putchar('\n');
    return 0;
}

Beklenen çıktı

A

Soru ve cevaplar

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

1 Karakter I/O eşleştir

Kavram Anlamı
getchar() Karakter okur
putchar(c) Karakter yazar
int c getchar dönüş türü
EOF Dosya sonu

2 getchar() ne döndürür?

main.c
int c = getchar();
  • Bir dize
  • Tek bir karakter (int olarak) Doğru cevap
  • Yalnızca char
  • Bir tam sayı dizisi

Açıklama: getchar bir karakteri int olarak döndürür.

3 Karakteri yaz

Soru
int c = getchar();
____(c);
Cevap
int c = getchar();
putchar(c);

Açıklama: putchar(c) karakteri ekrana yazar.

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