C语言a*b/c 和 a/c*b 的运算结果

int a=5, c=2; float b=1.0;

*/乘除优先级相同吧,所以是从左到右依次运算
a*b/c是5*1.0/2=2.5,因为b是float型的,所以返回时float小数,也就是5.0/2那么是2.5
a/c*b是5/2*1.0,那么5/2都是int型,那么返回的也是int型,取整数,应该是2,在乘以1.0那么结果是2.0
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-01-06
结果当然是不同的,a*b/c中,因为b是float型的,所以a*b也是float型的。而a/c*b中,因为a和c都是int型的,所以a/c会把小数点舍去,结果也是int型的,再乘以b,那结果肯定就不同了
第2个回答  2013-01-06
两个整数相乘或相除,结果仍然为整数,比如5/2=2;如果两个数中有一个是小数,或两个都是小数,则运算结果为小数,比如5.0/2=2.5。这个题的结果是什么就不用说了吧
第3个回答  2013-01-06
a*b/c =5*1.0/2=5.0/2=2.0

a/c*b=5/2*1.0=2*1.0=2.0
好像是这样,类型装换问题吧.

C语言a*b\/c 和 a\/c*b 的运算结果
相同吧,所以是 从左到右 依次运算 a*b\/c是5*1.0\/2=2.5,因为b是float型的,所以返回时float 小数 ,也就是5.0\/2那么是2.5 a\/c*b是5\/2*1.0,那么5\/2都是int型,那么返回的也是int型,取 整数 ,应该是2,在乘以1.0那么结果是2.0 ...

在C语言中1\/(a*b*c)和1\/a\/b\/c的区别
1\/a\/b\/c = ((1\/a)\/b)\/c = 1\/(a*b*c)但是在c里面精确度上会出现不同结果 比如都是int 100\/200\/0.001 = (100\/200)\/0.0001 = 0\/0.0001 = 0 但是100\/(200*0.001) = 100\/0.2 = 500

a÷b×c计算的话有顺序吗? (a÷b)×c和a÷(b×c)结果不一样吧
他指的是a÷b×c与 a×c÷b 交换顺序 你做这个交换是改变 计算顺序 这不一样 计算从左到右依次进行 没问题只是可以同阶交换先后

C语言编程 主函数输入两个整数,用四个函数去求四则运算呢结果,主函数...
include<stdio.h>void main(){ int a(int x,int y);int b(int x,int y); int c(int x,int y);float d(float x,float y); int x,y; scanf("%d,%d",&x,&y); printf("x=%d,y=%d.\\nx+y=%d.\\nx-y=%d.\\nx*y=%d.\\nx\/y=%f.\\n",x,y,a(x,y),b(x,y),c(x,y...

在c语言里,a\/b*c是不是等同于(a\/b)*c,但为什么我的2级资料上说是a\/...
是的。a\/b*c等同于(a\/b)*c。因为在c里边,运算符是有优先级的,如果同等优先级的符号,就按出现顺序进行运算。加上括号是为了改变运算数的组合。2级资料上说是a\/(b*c)是错误的。

a\/b\/c=a\/b*c成立否
根据乘法结合律,a*1\/b*1\/c=a*(1\/b*1\/c)=a*1\/(b*c)=a\/b*c 最后一个等式是错的 =a\/b\/c 不然就是 =a\/b*1\/c 括号里面的都是要同时除的 原式是不成立的

C语言~A\/B\/C,它是算术运算是怎么样的?
在C语言中,只有4个运算符规定了运算方向,它们是&&、| |、条件运算符及赋值运算符。&&、| |都是先计算左边表达式的值,当左边表达式的值能确定整个表达式的值时,就不再计算右边表达式的值。如 a = 0 && b; &&运算符的左边位0,则右边表达式b就不再判断。在条件运算符中。如a?b:c;先判断...

c语言中a= b> c和a== b> c的区别是什么?
c语言中 a=b>c 和a==b>c区别为:执行步骤不同、结果值不同、结果对象不同。一、执行步骤不同 1、a=b>c:a=b>c的执行步骤为b>c。2、a==b>c:a==b>c的执行步骤为先b>c,再a==(b>c)。二、结果值不同 1、 a=b>c:如果b比c大,则 a的结果值为true;如果b比c小或相等,...

C语言中 a=b,c 和a=(b,c) 的值分别是多少
然后a与c逗号运算返回c当然没有任何变量接收这个返回值,如果 d=(a=b,c) 这样d的值就和c的值一样了,所以在a=b,c;之后a和b的值一样 在第二个表达式中,逗号表达式用括号括起来了,所以先计算逗号运算,结果为最右边的值,所以括号后的结果就为c的值,这时a和c的值相等 ...

C语言中a\/b%c啥意思?
C语言中a\/b%c,必须要a,b,c三个变量都是整数类型,他的意思就是先把a除以b,只保留得到商的整数部分,如果有小数就把它丢掉。然后把得到的商再除以c,取整数除法的余数。如果除以c正好整除,那么就是余数为0,也就是整个表达式的值等于0。

相似回答