可能重複:
confused about printf() that contains prefix and postfix operators.printf使用堆棧?
我遇到與下面的代碼段代碼來了,
int main() {
int c = 100;
printf("\n %d \t %d \n", c, c++);
return 0;
}
我預計輸出爲100 & 101,但我得到的輸出as
101 100
任何人都可以幫助我知道爲什麼?從右到左,從而第一C++
我猜測代碼是以相反的順序來評估printf參數,因此首先插入來自「C++」參數的c,然後插入先前的c參數,然後該參數已經增加。 如果你想爲第二個值做1加c,並且增加c,我想你必須使用printf(「\ n%d \ t%d \ n」,c,c + 1)。 C++; –