C dili için yazıyorum.

int main(){

.... ...

return 0;

}

Bakıldıgında C programlarının çogunda return 0 kısmı bulunuyor ancak bunun mantıgı nedir?Niye yazıyoruz?

Sıfır yerine 1 yazınca yine çalışıyor.Başka sayi yazınca da calısıyor hatta o kısmı yazmasam bile çalışıyor.Bu kısım programın duzgun çalışıp çalışmadıgının anlaşılması için işletim sistemiyle iletişim için kullanılıyor sanırım. Ama farklı durumlarda da aynı sonuc alınıyor.

Tam olarak mantıgı nedir, arka planda neler oluyor, açıklar mısınız?

soruldu: 17 Mar '12, 16:35

ssselim's gravatar image

ssselim
151359
cevap kabul oranı: 0%


Bir fonksiyonda return ifadesinden sonraki hiçbir kod çalışmaz. Bu açıdan bakıldığında bir fonksiyonun sonlanması return ile de yapılabilir.

int main() diyerek main fonksiyonun int tipinde değer döndürebileceğini belirtmiş oluyoruz. return kullanarak da o fonksiyonun sonunda döndürmek istediğimiz değeri döndürürüz. Mesela return "deneme"; yazarsak hata alırız. Gerçi int main() değil de sadece main() olarak tanımlasanız da return "deneme"; ifadesi hata verir, çünkü main() fonksiyonu varsayılan olarak int değeri döndürebilir.

Değer döndürmeyen fonksiyonlar için void anahtar sözcüğü kullanılmalıdır. void main(){...} şeklinde kullanırsanız fonksiyonun değer döndürmeyeceği anlamına gelir ki, return kullanmazsınız, zaten kullanamazsınız da.

Bu arada gcc ile return 0; return 1; gibi ifadeler de sorunsuz çalışıyor görünsede, NetBeans IDE altında gcc kullandığımda return 0; için RUN SUCCESSFUL derken, return 1; vs. için program doğru çalışıyor görünse de RUN FAILED yazıyor sonunda.

Kısaca return 0; diyerek main fonksiyonunun başarıyla sonlandığını belirtmiş oluyoruz.

permanent link

cevaplandı: 17 Mar '12, 19:36

rahmanyazgan's gravatar image

rahmanyazgan ♦
4.4k83559
cevap kabul oranı: 26%

değiştirildi: 17 Mar '12, 19:38

eğer konsol çıktısına bakarsan orada main fonksiyonunun dönüş değerini yazar. ve main fonksiyonun 0 döndürdüğünü görürsen sorunsuz çalıştğını ve son satıra kadar geldiğini anlarsın fakat eğer main 0'dan başka bir değer döndürürse main fonksiyonunun bitmesi gereken yerde bitmediğini anlarsın.

permanent link

cevaplandı: 17 Mar '12, 20:23

goksel's gravatar image

goksel
82071728
cevap kabul oranı: 8%

c99 standartında her fonksiyonun bir geri dönüş değeri olması gereklidir. main de bir fonksiyon olduğundan mutlaka geri dönüş değeri olması gereklidir.

permanent link

cevaplandı: 18 Mar '12, 12:15

electrocoder's gravatar image

electrocoder
486152027
cevap kabul oranı: 7%

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×42
×4

Soruldu: 17 Mar '12, 16:35

Görüntüleme: 2,059 kez

Son güncelleme: 18 Mar '12, 12:15

powered by BitNami OSQA