C程序自增自减运算的问题。

发布时间:2024-05-22 02:55 发布:上海旅游网

问题描述:

#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);就可以得到了!

热点新闻