CodeBlanks Logo Icon CodeBlanks

Çıkış kodları

  • C kursu
  • Orta seviye
  • Ders 92/116
  • 5 dk

exit ile program çıkış kodu öğrenirsin.

exit ve dönüş kodu

Bir C programı bittiğinde kabuğa bir çıkış kodu döndürür. 0 başarıyı, sıfırdan farklı değerler hatayı belirtir. İki yol vardır: main'den return ile dönmek veya <stdlib.h>'teki exit fonksiyonunu çağırmak.

exit(1) programı hemen sonlandırır; geri kalan kod çalışmaz. return 1 ise yalnızca main'den çıkar. exit, derin bir çağrı yığınından çıkmak için kullanışlıdır. EXIT_SUCCESS ve EXIT_FAILURE sabitleri 0 ve 1 yerine okunabilirlik için kullanılır. Kabuk $? ile son çıkış kodunu denetler.

Koşullu çıkış

Hata sırasında exit çağırmak, programın tutarsız duruma geçmesini engeller. Koşul sağlanınca geri kalan kodu atlamak için if bloğu içinde exit kullanılır.

Örnek: if (hata) { printf("Sorun\n"); exit(1); }. Burada hata doğruysa program bir ileti yazdırır ve hemen durur; exit'ten sonraki satırlar çalışmaz. Bu desen, dosya açma veya bellek ayırma gibi başarısız olabilecek işlemlerde yaygındır. exit, açık dosyaları kapatır ve atexit ile kaydedilen fonksiyonları çağırır; bu yüzden temiz bir sonlandırma sağlar.

Uygulama Koşullu çıkış yaz

#include <stdlib.h> ekle. int hata = 1; tanımla. printf("Başlıyor\n"); yazdır. if (hata) bloğu içinde printf("Sorun\n"); yazdır ve exit(1); çağır. if'ten sonra printf("Bitti\n"); yazdır.

Başlangıç kodu

main.c
#include <stdio.h>
#include <stdlib.h>

// hata değişkenini 1 olarak tanımla
// "Başlıyor" yazdır
// hata doğruysa "Sorun" yazdır ve programı durdur
// "Bitti" yazdır

int main(void) {
    return 0;
}

Örnek çözüm

main.c
#include <stdio.h>
#include <stdlib.h>

int main(void) {
    int hata = 1;
    printf("Başlıyor\n");
    if (hata) {
        printf("Sorun\n");
        exit(1);
    }
    printf("Bitti\n");
    return 0;
}

Beklenen çıktı

Başlıyor
Sorun

Soru ve cevaplar

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

1 Çıkış kodlarını eşle

Kavram Anlamı
0 Başarı
1 Hata
exit(1) Anında durdur
return 0 main'den çık

2 exit çağrısını tamamla

Soru
if (status != 0) exit(____);
Cevap
if (status != 0) exit(1);

Açıklama: exit(1) hata durumunu kabuğa bildirir.

3 exit(1) çağrısından sonraki kod ne olur?

  • Çalışmaya devam eder
  • Hiç çalışmaz Doğru cevap
  • Sonsuz döngüye girer
  • Derleyici uyarısı verir

Açıklama: exit(1) programı hemen sonlandırır; sonraki kod çalışmaz.

Orta seviye bölümündeki tüm dersler