问题描述:
#include<stdio.h>
void main()
{
int i=8;
printf("%d\n%d\n%d\n%d\n%d\n%d\n",++i,--i,i++,i--,-i++,-i--);
}
请问这个程序正确的结果是多少?为什么在VC++6.0J里显示的结果是8 7 8 8 -8 -8
我总是觉得好向不对,我也理解不了为什么是这个结果。请大家指点一下!
问题解答:
编译器的关系 不同编译器对++ --运算不一样
因为在VC++6.0里是从右到左运算的!所以得到上述结果!
如果你想得到从左到右的值即为9 8 8 9 -8 -9
你可以设m=++i,n=--i,o=i++,p=i--,q=-i++,k=-i--,之后在printf(“。。。。”,m,n,o,p,q,k);就可以得到了!