我剛剛開始使用C++,所以不確定評估的順序。 在下面的代碼段,你可以看到在評估C時改變評估的順序給了我不同的結果當我評估C *(line-i)/ i時,它給了我-131213633,當我評估它爲(line-我)/我* C,它給了我145422675.我明白在第一種情況下,這是一個溢出問題,但我想了解評估順序。C++中的評估順序
C = C * (line - i)/i ;
(gdb) p line
$1 = 31
(gdb) p i
$2 = 15
(gdb) p C
$3 = 145422675
(gdb) p C * (line - i)/i
$4 = -131213633
(gdb) p (line - i)/i * C
$5 = 145422675
http://en.cppreference.com/w/cpp/language/eval_order標記爲脫離主題 – Danh
您不確定評估的順序是什麼,或者您不確定它爲什麼重要? –
@VaughnCato他表示,他知道有溢出。 – Danh