今天在使用printf函数打印一个整形计数器变量时,总是发现计数器的增值顺序不对...刚开始没注意,后来仔细一想,原来是有原因的。代码主要部分如下:
static int count=0;
printf("%d: ,%d: ",++count,++count);
结果总是向如下:
2:
1:
即下一行的行号比上一行的行号小,这就是说printf()中先计执行了第二个个++count,再执行第一个++count,这个原因我估计是因为c语言中函数调用参数入栈顺序从右到左有关。