sayfa başı

25 Şubat 2019 Pazartesi

C Çalışma Soruları – 16 (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>
 
int main()
{
    int x = 1;
 
    if (++x > 2,5)
       printf("%d", ++x);
    else
        printf("%d", x++);
    
    return 0;
}


Yanıt:
if (++x > 2,5) satırında 2 ile 5 arasında virgül olduğuna dikkat edilmelidir. C dilinde ondalık sayılar nokta ile oluşturulur. Bu durumda if (++x > 2,   5) şeklinde ele almamız gerekir. Virgül operatörü geri dönüş olarak sağ taraf değerini döner yani 5 değerini döner. If koşulu için virgülün sol tarafı bir anlam ifade etmez fakat x değeri ++ operatör yüzünden bir artar.
if (5) koşulu doğru olarak sonuç üretir ve if bloğu çalışır.(else bloğu çalışmaz.) if bloğunda da x değeri bir arttırıldığı için sonuç 3 olur.

Hiç yorum yok:

Yorum Gönder

Son Ütücü