伊莉討論區

標題: 關於IF內的判斷式 [打印本頁]

作者: tokillme    時間: 2020-3-9 05:12 PM     標題: 關於IF內的判斷式

今天無聊測試宣告一個 boolean變數 為true
放進 IF判斷式內卻發生錯誤



與直接寫true 差在哪!?


作者: snowflying    時間: 2020-3-10 06:26 PM

雖然 t 的值一直都是 true
但對那個 if 來說 t 只是個變數,不會去看是不是恆成立
因此有沒進去 if 區塊初始化變數的可能性

作者: sggleeee    時間: 2020-3-15 01:04 AM

to大試試將您的code的這片段改成

  1.             double p, b=0, h;
  2.             bool t = true;

  3.             if (t)
  4.             {
  5.                 b = 3.0;
  6.                 h = 4;
  7.                 p = 0.5;
  8.             }
複製代碼
或是
  1.            double p, b, h;
  2.             bool t = true;

  3.             if (t)
  4.             {
  5.                 b = 3.0;
  6.                 h = 4;
  7.                 p = 0.5;
  8.             }
  9.             else
  10.             {
  11.                 b = 0;
  12.             }
複製代碼
看看有什麼差別,然後再想一下Sonw大的回答應該就可以知道為什麼了
作者: tokillme    時間: 2020-3-19 07:41 PM

snowflying 發表於 2020-3-10 06:26 PM
雖然 t 的值一直都是 true
但對那個 if 來說 t 只是個變數,不會去看是不是恆成立
因此有沒進去 if 區塊初 ...

了解! 又是一個 騙很大的 認證題目!
作者: tokillme    時間: 2020-3-19 07:49 PM

sggleeee 發表於 2020-3-15 01:04 AM
to大試試將您的code的這片段改成或是看看有什麼差別,然後再想一下Sonw大的回答應該就可以知道為什麼了 ...

OK 3Q! 我大概了解這題目考什麼了! 只有在IF內條件成立,才有可能編譯成功,當賦予b變數 就能編譯!




歡迎光臨 伊莉討論區 (http://a04.eyny.com/) Powered by Discuz!