前言
在调试程序的时候会使用一些打印函数进行辅助调试,在期间遇到一些平时没注意的事儿。
代码演示
using namespace std;
int main(int arg, char** argv)
{
int n = 10;
cout << n << "," << --n << "," << ++n << endl; // 我以为输出是 10,9,10
cout << n << "," << n++ << "," << --n << endl; // 我以为输出是 10,10,10
printf("%d,%d,%d\n", n, --n, n++); // 我以为输出是 10,9,10
printf("%d,%d,%d\n", n, n++, --n); // 我以为输出是 10,10,10
return 0;
}
调试结果
它们都是从后边开始执行的,刚好相反。
哎,平时没留意的小细节,在调试项目的时候被误导了,费了好大劲。
---End