注册 登录
编程论坛 C++教室

我是一个新手但是有些都看不懂是什么意思???

mylove503 发布于 2005-03-28 11:02, 731 次点击
比如,,,,
  
  int x=5
  int n,m;
  n=(++x)+(++x);
  m=(x--)+(x--);
printf("%d%d\n",n,m,)
  
它的结果分别的     14和10呢   请各位大哥大姐们祥解一下//
 
6 回复
#2
poppylx2005-03-28 17:30
为什么我运行结果是14,14呢
#3
紫色的蜗牛2005-03-29 19:59
最后结果是14,14,++放在前面是先加后参加运算的,放在后面是先参加运算,后减减,
所以N值是X经过两次加后,再是两个X相加,是7+7=14,
后面那个一样道理,也是14,
但X=5;
#4
逍灵剑2005-03-30 22:11
自增自减运算符最好放在单行,因为编译器不同可能会得到不同的结果
#5
双云2005-03-31 14:02
为什么我运行结果是14,14呢
#6
bouluo5052005-03-31 19:52
int x=5
  int n,m;//此时x=5;
  n=(++x)+(++x);//前一个x后x=6,后一个运行后x=7,最后进行'+'运算,即7+7=14;

//此时x=7
  m=(x--)+(x--);//前一个x后x=7,后一个运行后x=7,最后进行'+'运算,即7+7=14;但计算完后x=5;
如果这些是在一个程序段里,那结果就是14,14!



对于三个及更多时就与编译器有关了!!
#7
金多虾2009-08-08 14:56
编译器对结果有影响!
能理解就行了
不必强求
1