#include <stdio.h> #include<iostream> using namespace std; int main() { int arr[] = { 6, 7, 8, 9, 10 }; int * ptr = arr; *(ptr++) += 123; int i = 1; cout << *ptr << endl; cout << "1 " << *ptr<<i << *(++ptr)<<*(ptr++) << endl; cout << "2 " << *(++ptr) << endl; //printf("%d, %d\n", *ptr, *(++ptr)); system("pause"); return 0; }
输出:
比如程序如下int i=1;printf("%d,%d",i,++i);输出的结果就是2 2.从而证明从右向左。之所有printf是从右向左执行因为操作的是输出栈!
c++中的cout也是从右向左压入栈的。
所以如果printf(i,i++)或者cout,他们的结果值都是一样的。