-5
我期望這兩個條件會產生相同的答案(nEntries = 0)。我不明白爲什麼沒有。條件表達式行爲不正確
# include <stdlib.h>
# include <iomanip>
# include <iostream>
using namespace std;
int main() {
int nEntries = 1;
nEntries = (nEntries)? nEntries--: nEntries;
cout << "nEntries = " << nEntries << endl; // nEntries = 1
nEntries = 1;
if (nEntries) nEntries--; // nEntries = 0
cout << "nEntries = " << nEntries << endl;
return 0;
}
它看起來像條件表達式做:
if (nEntries) tmp = nEntries--;
藝術
可能重複的[之間有什麼++ i和i ++差(http://stackoverflow.com/questions/24853/我和我之間有什麼區別) – Axalo
'tmp'從哪裏來,在你的腦海裏? –