sayfa başı

26 Şubat 2019 Salı

C Çalışma Soruları – 18 (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 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ü