cari

Rumah  >  Soal Jawab  >  teks badan

javascript - Nilai ungkapan aritmetik ternary 3<8?(9<6?7:5):2>0?4:1 adalah berbeza dalam Java dan PHP.


Hasil penilaian dalam kedua-dua java dan js ialah 5, tetapi dalam PHP ia adalah 4
Adakah kerana formula saya tidak ditulis dengan cara yang standard? Atau adakah atas sebab lain? Saya meminta orang lain untuk mencubanya menggunakan bahasa .net dan c, kedua-duanya adalah 5
[Selesai] Terima kasih atas jawapan anda, saya rasa formula itu tidak ditulis dengan cara yang standard, kerana saya selalu fikirkan bahawa ternary adalah dari Dari kanan ke kiri, jadi saya meninggalkan kurungan terakhir (saya sering menulisnya dengan cara ini sebelum ini). Demi penyeragaman, ia sepatutnya 3<8?(9<6? 7:5):(2>0?4:1 )

三叔三叔2718 hari yang lalu1027

membalas semua(6)saya akan balas

  • typecho

    typecho2017-06-08 11:04:07

    Masalah dengan arah gabungan pengendali ternary:
    java dari kanan ke kiri. Bersamaan dengan 3<8?(9<6?7:5):(2>0?4:1)3<8?(9<6?7:5):(2>0?4:1)
    php 从做向右。等效于(3<8?(9<6?7:5):2)>0?4:1php dari buat ke kanan. Bersamaan dengan (3<8?(9<6?7:5):2)>0?4:1

    Oleh itu, untuk mengelakkan penjanaan kod samar-samar, adalah lebih baik untuk tidak meninggalkan tanda kurungan yang sepatutnya ditulis

    balas
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-06-08 11:04:07

    Tertib gabungan operasi ternary PHP adalah terbalik
    http://www.jianshu.com/p/124f...

    balas
    0
  • 代言

    代言2017-06-08 11:04:07

    Saya rasa tafsiran keutamaan php berbeza daripada java, js dan bahasa lain Ia boleh ditafsirkan sebagai (3 < 8 ? (9 < 6 ? 7 : 5) : 2 > 0) ? 4 : 1

    balas
    0
  • 某草草

    某草草2017-06-08 11:04:07

    Dalam PHP ia kelihatan seperti ini:

    $a = (3 < 8 ? (9 < 6 ? 7 : 5): 2 > 0)
        ? 4
        : 1;

    Jadi 4;

    Dalam JavaScript ia kelihatan seperti ini:

    var a = (3 < 8)
        ? (9 < 6 ? 7 : 5)
        : (2 > 0 ? 4 : 1);

    Jadi 5.

    Jadi jika anda tidak tahu keutamaan pengendali, lengkapkan kurungan. ^_^

    balas
    0
  • 怪我咯

    怪我咯2017-06-08 11:04:07

    Jawapan betul kat atas~~~~~~

    balas
    0
  • 欧阳克

    欧阳克2017-06-08 11:04:07

    Tidakkah saya patut menaip foto ini?

    balas
    0
  • Batalbalas