永发信息网

C语言中:设i为int型,f为float型,d为double型,e为long型 10+‘a’+i*f-d/e 为什么不先算i*f呢?

答案:4  悬赏:80  手机版
解决时间 2021-02-08 18:12
C语言中:设i为int型,f为float型,d为double型,e为long型 10+‘a’+i*f-d/e 为什么不先算i*f呢?
最佳答案
应该是求值顺序的问题,C语言里面没有严格规定求值顺序追问在类型转换章节啊追答可是你的问题中,哪里看出来不是先算i*f的?并且先算谁又有什么影响,反正最后都转成了double参考资料:http://blog.csdn.net/shijiemazhenda/article/details/6231500
全部回答
C赋值运算符的计算顺序由右至左,你这个表达式等同于赋值,由于*和/优先级相同,所以先算除法了。
运算符优先级的作用范围只是靠近它的前后两个运算,比如:
#include
int main ()
{
int a=3,b=5,c;
c=a*b-(a+=b);
printf("%d",c);
return 0;
}
按你的想法,括号把a+=b的优先级提到了最高,应该先运算,但是括号只是在前后相邻的三个运算中将其优先级提高,所以运算顺序依然是1.a*b;2.a+=b;3.两者相减
明白否?
#include
int main(void)
{
int i = 2;
float f = 2.5;
double d = 10.0;
long e = 5;
printf("%f\n",10+'a'+i*f-d/e);
return 0;
}
我的机器上运行结果是110.0000,表明是先算i * f。
你是怎么看出不先算i * f 的?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
税收的基本特征是指税收的强制性、无偿性和(
克罗心有这个外套吗?有的话原价多少
急寻深圳福田或罗湖这边有没有卖品牌泳衣的店
【角度计算】三角形角度计算公式知道三条边长
秋梅窗帘地址在什么地方,想过去办事
清丰县水利局地址在什么地方,想过去办事
朋友们,我需要一份关于无归舞蹈的节目串词,
The window is (a rectangle) 对括号提问
别人问成绩 别人问成绩怎么说
范县水利局地址有知道的么?有点事想过去
荆州市津北化工有限公司地址在哪,我要去那里
审美需要什么
公务员省考只能考本省吗
南乐县水利局地址好找么,我有些事要过去
mab是哪个足球俱乐部
推荐资讯
磁吸防盗纱窗吸紧了怎么开
太极门在什么地方啊,我要过去处理事情
无尽之剑3闪退
征集鼓励人积极乐观的语句!!急用
八俊马八匹都叫什么名字
著作权中的发表权,是指作者对自己的作品有权
我摸了摸狗,回家之后就头晕脑涨,我还揉了揉
康辉旅游(长兴路营业部)地址在什么地方,想过
如何应对连续三年不使用商标撤销
梦幻窗帘地址在什么地方,想过去办事
vba与vbs
下载qq宠物社区
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?