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ü