读书人

关于运算符,该怎么处理

发布时间: 2012-02-15 12:09:44 作者: rapoo

关于运算符
老师讲运算符的时候出了题  
int a=1,b=5,c;
c=a++*--b;
c=?
我说是8因为--或++的运算级别高应该先运算在算*
老师说是4
我不明白请问谁能帮我解答啊

[解决办法]
a++*--b

a++和++a
--b和b--

区别开就Ok 了。.
[解决办法]
结果是4,
c=a++*--b相当于,b=b-1;c=a*b;a=a++,
写成代码为:
#include "stdio.h "
void main()
{
int a=1,b=5,c;
c=a++*--b;
printf( "c=%d ",c);
{ int a=1,b=5,c;
b=b-1;c=a*b;a++;printf( "c=%d\n ",c);}

}
[解决办法]
a++*--b;
----------------------
总之,记得,在类似这样的语句里。a还没有加1呢。就是原来的值。

也就是说,a还是1。

执行完这条语句之后,a才是2啊。

[解决办法]
--或++的运算级别高应该先运算在算*,这没错。

但是a++。这东西,在当前语句中,永远没有++。

这就是a++和++a的区别。
++a。立马就加了。
[解决办法]
a++*--b;

a++是先取a的值.所以计算时a是为1

读书人网 >C语言

热点推荐