Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

C ile ilgili basit bir teknik soru

Konu, 'C / C++' kısmında archimacy_ tarafından paylaşıldı.

  1. archimacy_

    archimacy_ Yeni Üye

    Kayıt:
    30 Aralık 2016
    Mesajlar:
    1
    Beğenilen Mesajlar:
    0
    Şehir:
    Istanbul
    Basit bir faktoriyel programı yazdım. Sorunun çözümüyle bir sıkıntım yok, program çalıştı fakat. çarpım değerini baştan 1 olarak tanımlamadan for döngüsüne alınca program hata veriyordu. Bunun sebebi nedir? neden önceden değer vermediğimiz bir değişkeni for döngüsünde kullanamıyoruz ?#include <stdio.h>


    int main()
    {
    int i,j,carpim ;
    carpim =1 ;

    printf("faktoriyeli alinacak deger : \n");
    scanf (" %d",&i);

    for(j=1; j <= i ; j++)
    {
    carpim *= j;
    }

    printf("deger :%d",carpim);
    return 0;

    }

    kod bu.
     
  2. ErhanXk

    ErhanXk Yeni Üye

    Kayıt:
    29 Aralık 2016
    Mesajlar:
    7
    Beğenilen Mesajlar:
    2
    Şehir:
    İstanbul
    Eğer for içinde carpim=carpim*j kullansanız hata vermez bence ama bu şekilde yapmayınca carpim değişkeni for döngüsüne null olarak giriyor.Hata da burdan kaynaklanıyor.
     
    archimacy_ bunu beğendi.
  3. evasion

    evasion Yeni Üye

    Kayıt:
    29 Ocak 2017
    Mesajlar:
    3
    Beğenilen Mesajlar:
    0
    Şehir:
    Ankara
    @ErhanXk arkadaşımızın açıkladığı gibi fakat değeri null değildir. null değeri sadece nesneler için geçerli bir kavramdır. integer değerler null olamaz. Bir değişken oluşturduğumuzda RAM üzerinde bir yer kaplarsın ve bu alanın içinde daha önceden kalmış olan değerler olabilir. Bunu bazı diller initialize eder ve 0 a eşitler. Fakat bu dediğim maalesef C dilleri için geçerli değildir.