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ü