Şimdi Ara

C de işlem sırası ile ilgili

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
7
Cevap
0
Favori
326
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhalar, birisi bana bunun sonucunun nasıl hesaplanacağını anlatabilir mi?


    %lf ne demektir? bu işlemin sonucu nasıl 14.5 oluyor bir türlü bulamadım.


    printf("%lf",11/2+7/2.0+5/2*3); 




  • %lf long float gibi görünsede aslında double veri tipini yazdırmak için kullanılıyor.


    işleme gelince, önce şu şekilde ayıralım:


    çarpma ve bölmenin toplama ve çıkarmaya göre işlem önceliği vardır;


    (11/2) + (7/2.0) + (5/2*3)


    çarpma ve bölme arasında öncelik yoktur, soldan sağa işlenir. yani;


    (11/2) + (7/2.0) + ((5/2)*3)


    buradaki trick, bölme işlemlerinde sadece ortadaki işlemdeki 2.0 sayısının özellikle float olduğu belirtilmiş. dolayısıyla diğerleri integer olarak işlenir. yani;


    11/2=5

    7/2.0=3.5

    5/2=2

    2*3=6


    topla hepsini (40 yapar :D);


    5+3.5+6 = 14.5

  • Çok teşekkür ederim cevap için. Özelden de bir sor sordum. Cevaplarsanız memnun olurum.

  • @arrap telefon doğrulamam olmadığı için ÖM kullanamıyorum. int float konusunu soruyorsan;


    c de "implicit int" kuralından dolayı, açıkça bir veri tipi olmayan herşey "int" olarak kabul edilir. mesela dönüş tipi olmayan bir fonksiyon tanımlarsan;


    topla(int a, int a)

    {

    }


    bu fonksiyonun dönüş tipi default olarak "int" tir. soruda 2.0 dışında diğer veriler için herhangi bir explicit tanım olmadığından hepsi int olarak kabul edilir.

    şimdi senin soruna gelirsek, integer veri tipinde virgülden sonrası olmadığı için, iki integer veri tipinin sonucu integer olmasa bile "implicit conversion" dan dolayı noktadan sonrası gözardı edilir ve integere çevrilir. yani;


    11/2=5.5 ama integer veri tipi noktadan sonrasını saklayamayacağı için 5.5 un noktadan sonrası atılır ve sonuç integer olarak 5 olur.

    5/2 de aynı şekilde 2.5 değil 2 olur.





  • Tekrardan teşekkür ederim. Arada yazacağım bi kaç gün rahatsız ederim :)

    < Bu ileti iOS uygulamasından atıldı >
  • Yapay Zeka’dan İlgili Konular
    Sistem 4 ile ilgili soru?
    14 yıl önce açıldı
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.