2011
03-26

#include <stdio.h>
void main()
{
 int a=5;
 int b=5;
 a=(a–)+3;
   printf(“a=%d\n”,a);// 运行结果是a=7
 
 printf(“b=(b–)+3=%d\n”,b=(b–)+3);//运行结果是a=(a–)+3)=8
}

为什么不一样???

感觉是一样的,可结果不一样。


求解》有 3 条评论

  1. ityw 说:

    搞不清楚,为什么不一样呢

  2. 初出茅庐的小幽 说:

    b– 的运算优先级问题      在这里是 先算b+3 再打印 再算b–  如果你在这后面再加一句 printf(“b=%d\n”,b); 就是7了

  3. 的的 说:

    怎么感觉你的问题问的有问题,不过三楼说的是对的

留下一个回复