int a=1;
int b=0;
地球人都知道:
如果b=a++,b=1,a=2。
如果b=++a,b=2,a=2。
要注意的是:
printf("%d",a++); 和 cout<<a++; 打印出来的都是1,打印完后a才加1。
类似的函数调用 f(a++); 传递的参数也是1。
如果 int d=a*b*c++; 等价于 d=a*b*c; c++; "++"的对象是c,不是d。
仅此记录一下,防止以后犯错。
int a=1;
int b=0;
地球人都知道:
如果b=a++,b=1,a=2。
如果b=++a,b=2,a=2。
要注意的是:
printf("%d",a++); 和 cout<<a++; 打印出来的都是1,打印完后a才加1。
类似的函数调用 f(a++); 传递的参数也是1。
如果 int d=a*b*c++; 等价于 d=a*b*c; c++; "++"的对象是c,不是d。
仅此记录一下,防止以后犯错。