楼主printf函数中的............估计代表着剩余的4个“%d\n”,该题目可能考察的是自增自减运算与赋值的问题。照着这个思路,我试着写了一下程序:

程序代码:
#include <stdio.h>
int main(void)
{
int i;
i=7;
printf("%d\n%d\n%d\n%d\n%d\n%d\n",++i,--i,i++,i--,-i++,-i--);
printf("*************************\n");
i=7;
printf("第一步:-i--\ni=%d\n%d\n---------\n",i,-i--);
printf("第二步:-i++\ni=%d\n%d\n---------\n",i,-i++);
printf("第三步:i--\ni=%d\n%d\n---------\n",i,i--);
printf("第四步:i++\ni=%d\n%d\n---------\n",i,i++);
printf("第五步:--i\ni=%d\n%d\n---------\n",i,--i);
printf("第六步:++i\ni=%d\n%d\n",i,++i);
printf("*************************\n");
i=7;
printf("%d %d %d\n",i++,i++,i++);
i=7;
printf("%d %d %d\n",i--,i--,i--);
i=7;
printf("%d %d %d\n",++i,++i,++i);
}
运行结果如下:
1、程序分为三部分,输出时用“************”来分割。
2、第一部分照题目原意写,输出为7 7 6 7 -6 -7;
3、第二部分假设原题目中printf()函数输出的6个数字,自右向左计算:第一步:-i--,先输出-i的数值-7,再自减为i=6;第二步:-i++,先输出-i=-6,再自加为i=7;第三步:i--,先输出i=7,再自减为i=6,;第四步:i++,先输出i=6,再自加为i=7;第五步,--i,先自减为i=6,再输出i=6;第六步,先自加为i=7再输出为i=7,最终输出为7 6 6 7 -6 -7。实际上第五步,也就是第二个数字与第一部分运行结果不一样。
4、第三部分,对i赋值7以后,分别用printf("%d %d %d\n",i++,i++,i++)、printf("%d %d %d\n",i--,i--,i--)、 printf("%d %d %d\n",++i,++i,++i)来验证,结果当使用i++和i--时,与第二部分的假设运行一致,当使用++i时,是先运行完 全部自加运算后,再输出结果,所以,第二部分的假设的第5第6步,应该都是输出第6步的结果i=7。这样就与第一部分的运行结果一致了。