为什么是14

[复制链接]
查看11 | 回复1 | 2008-7-6 11:09:35 | 显示全部楼层 |阅读模式
#include
void main()
{int x=5;
int m,n;
m=(++x)+(++x);
n=(--x)+(--x);
printf("%d,%d\n",m,n);}

回复

使用道具 举报

千问 | 2008-7-6 11:09:35 | 显示全部楼层
这个就是属于C语言里的特殊情况了。它是先做++X,把两都做完了再做加法,所以是加了两次。X=7了,再做加法,所以就是m=14同理,n的值也是先做两回--X再做加法,所以n=10PS:若果是m=(x++)+(x++)则结果正好相反,它是先做加法,然后再做++这时m的值是10,x的值是7这是C语言的特例,记住了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行