int x;
为什么x/pow(10,n)pow(10,n)和a=x/pow(10,n),b=apow(10,n)值不一样,为什么前者会出现值还是x,不是x除以一个数只得出整数吗,在乘同样得数不该和原来的值不一样吗
说明你对数据类型和运算的概念掌握的不牢固
并不是只要涉及到int就必须是整数,要看表达式的类型而不是参数类型
两个数做运算,会自动隐式转换成类型大的那一个,比如int+double,那么统一先转换成double再加,结果也是double
如果两个数都是int,那么结果也是int,int型当然没有小数点
-=-=-=
再看你的代码,pow的返回值类型是double,int除以double,结果是double,所以根本不存在你说的问题
当然,先除后乘还是先乘后除还是会有区别的,先乘如果数太大,可能会溢出;先除如果得数太小,可能丢精度