以下是引用pengyancai在2013-4-22 19:27:15的发言:
是因为printf()函数的原因,因为如果参数列表包括多个实参,那么对实参的求值的顺序并不确定的,有的系统按自左至右顺序求实参的值,有的自右至左。
所以建议楼主可以定义六个变量输出。
楼上说的对。如果参数列表包括多个实参,在没定义之前对实参求值的顺序并不能确定,有的是按左到右,有的是按右向左。
建议在使用多个实参之前,先定义。
#include "stdio.h"
void main()
{
int x=8,y=8,z=8,a=8,b=8,c=8;
printf("%d,%d,%d,%d,%d,%d",++x,--y,z++,a--,-b++,-c--);
}
//9 7 8 8 -8 -8