sayfa başı

25 Şubat 2019 Pazartesi

C Çalışma Soruları – 15 (işleçler)

Necati Ergin Hocamın kendi sayfasında bulunan çalışma sorularını ve cevaplarını burada yanıtlamaya çalıştım. Sorulara buradan ulaşabilirsiniz.

Aşağıdaki C programı çalıştırıldığında bu programın çıktısı ne olur?


#include <stdio.h>
 
void func(int x)
{
    ++x;
    printf("%d", x);
}
 
int main()
{
    int x = 10;
    
    func(++x);
    func(x++);

    printf("%d", x);

    return 0;
}

Yanıt:
++x ve x++ çalışma farklılığına deyinerek soruyu çözebiliriz. ++x işleminde x in değeri bulunduğu satırda arttırılarak işleme katılır. X++ işleminde ise x değişkeni kendi değerinde bulunduğu satırda işlenir fakat bir sonraki işlendiği satırda değeri bir artmış olarak işlenir.
   int x = 10;    
   func(++x); → x 11 olarak değer alır ve fonksiyona 11 değeri gönderilir.
   func(x++); → x değeri bu satırsa 11 dir. Fakat bir sonraki işlemde x değeri bir artmış olarak karşımıza çıkacaktır. Sonuç olarak fonksiyona 11 değeri gönderilir.


   printf("%d", x); → x++ işlemi sonrasında x değeri burada 12 olarak işlenir.

Sonuç 121212 olur.


Hiç yorum yok:

Yorum Gönder

Son Ütücü