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 a = 11; if (10 < --a < 20) printf("%d", --a); else printf("%d", ++a); return 0; }
Yanıt: 
< operatöründe işlem soldan sağa doğrudur. Bu bilgi ile if koşulunu daha anlaşılır hale getirebiliriz. 
if ((10 < --a) < 20) dönüşümünden sonra çözüme geçebiliriz.  (10 < --a) sonucu 0 olur.(a’nın değeri 10 oldu.) Bu adımdan sonra  if (0 < 20) koşuluna dönüşür ve sonuç 1 olacağından if bloğu çalışır. If bloğunda bulunan printf içinde de --a işlemi ile a’nın değeri 1 azaltılır ve çıktı olarak 9 değerini görürüz.
 
Hiç yorum yok:
Yorum Gönder
Son Ütücü