标题:
复合运算应用
[打印本页]
作者:
wangyu
时间:
2010-6-6 08:57
标题:
复合运算应用
#include<stdio.h>
main()
{
int a;
printf("please input:\n");
scanf("%d",&a);
a+=a*=a/=a-6;
printf("the result is %d\n",a);
}
a+=a*=a/=a-6 这一复合运算如何运算的呢?请老师举例说明吧,谢谢老师
作者:
wangyu
时间:
2010-6-6 09:26
是否有运算优先级的问题呢
作者:
fwbook
时间:
2010-6-7 09:12
这个主要复合运算符的优先级。
+= -= *= /=的优先级都非常低,并且遵循的是右结合。所以整个表达式最先计算的是
a/=a-6
假设a=7,则
a/=a-6=a/(a-6)=7
然后运算
a*=a/=a-6=a*(a/=a-6)=7*7=49
最后运算
a+=a*=a/=a-6=a+(a*=a/=a-6)=49+49=98
作者:
wangyu
时间:
2010-6-7 10:39
谢谢老师的回答
作者:
fwbook
时间:
2010-6-7 15:02
实际通常不会这样使用。因为这样不容易理解。
欢迎光临 万卷图书 (http://wanjuanchina.net/)
Powered by Discuz! 7.0.0