有区别:这里假定pi是double型的变量
1)x为
整型时,y=sin(x*pi/180);会先计算x*pi得到double型数据(因为pi的类型),然后再做除法
z=sin(x/180*pi);会先计算x/180得到整型数据(因为分子、
分母均整型)小数部分被
截断了然后再与pi相乘得到double类型结果
应当写做:z=sin((double)x/180*pi);或z=sin(x/180.0*pi);
只要分子、分母中有一个
数据类型是double的会使编译程序调用double类型的
运算步骤。
2)x是double型但取值很大时
y=sin(x*pi/180);会先计算x*pi,如果x的值大得x*pi会超出double类型表示范围时就会出问题
y=sin(x/180*pi);会先计算除法,这样先缩小得数再做乘法保证结果不会溢出