在C语言中1⼀(a*b*c)和1⼀a⼀b⼀c的区别

大虾帮帮忙啊^这个是要命的^
2024-12-12 04:21:58
推荐回答(5个)
回答1:

就数学上来说一样

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

回答2:

如果是整数型的话
需要注意的就是
两个整数相除 结果还是整数 会四舍五入
两个数相乘 可能出现溢出

明白这两个之后 因为运算顺序的先后就知道区别在哪里了

回答3:

……在数学上怎么算,在C语言里就怎么算。
但如果a b c是整型的话,舍去小数点以后的位(只是单纯的舍,即使是1.9,也会算为1)

回答4:

运算顺序不同,加括号代表优先运算a*b*c,然后在用1除,而1/a/b/c则是自左向右一项一项的除.

回答5:

运算顺序不一样,前者先算括号里面的;后者从左向右计算。