回覆列表
  • 1 # 使用者4593789377132

    先美化一下:

    if ( (e<0 ? -e : e ) < 1e-8 )

    { break; }

    首先,分清 e 的含義,“e<0”中的 e 是個數,和後面的的“1e-8”中的 e 不是一回事,後面那個代表的是科學計數法,就是10的-8次方。

    然後,看裡面括號裡的(e<0 ? -e : e ),這是3元運算表示式,意思是取e的絕對值 |e| (負的取負,正的不變)。

    最後,整體含義為:如果 則“break”。

    單純看這個 if 語句,這個 break 做不了什麼,所以有人說沒這麼用的,的確是這樣。但很有可能擷取的程式碼片段,比如下面這樣:

    for(int i=0;i<100;i++)

    {

    e = sth(i); // 從這裡取得 e 的值,下面做判斷,當絕對值<10的-8次方就跳出迴圈

    if ( (e<0 ? -e : e ) < 1e-8 )

    { break; }

    }

  • 中秋節和大豐收的關聯?
  • 怎麼看口罩是幾類?