当前位置: 代码迷 >> C语言 >> C语言运算的问题
  详细解决方案

C语言运算的问题

热度:302   发布时间:2006-10-01 20:23:20.0
C语言运算的问题

例1
main()
{int a=5;
printf("a=%d",(a++)*(++a)+(a--)*(--a));
}
最后A=70 (表达式是从左到右的)

例2
{int a=5;
printf("a=%d (a--)+3=%d a=%",a,(a--)+3,a);
}
例2中的运算为什么是从右到左


----------------解决方案--------------------------------------------------------
一个是求解一个表达式,一个是多个,当然有不同了.
求解一个表达式不就是从左到右了.但后者就要根据编译器而定了.
----------------解决方案--------------------------------------------------------

这样的代码如果不了解编译器是很容易把自己搞晕的。


----------------解决方案--------------------------------------------------------
第一个是表达式,第二个是多个这是不同的

----------------解决方案--------------------------------------------------------
如果用TC2.0,列2不也是从左到右运行的?
----------------解决方案--------------------------------------------------------
  相关解决方案