int x;
为什么x/pow(10,n)pow(10,n)和a=x/pow(10,n),b=apow(10,n)值不一样,为什么前者会出现值还是x,不是x除以一个数只得出整数吗,在乘同样得数不该和原来的值不一样吗
c语言类型问题,简单乘除
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 於黾 2022-01-30 15:45关注
说明你对数据类型和运算的概念掌握的不牢固
并不是只要涉及到int就必须是整数,要看表达式的类型而不是参数类型
两个数做运算,会自动隐式转换成类型大的那一个,比如int+double,那么统一先转换成double再加,结果也是double
如果两个数都是int,那么结果也是int,int型当然没有小数点
-=-=-=
再看你的代码,pow的返回值类型是double,int除以double,结果是double,所以根本不存在你说的问题
当然,先除后乘还是先乘后除还是会有区别的,先乘如果数太大,可能会溢出;先除如果得数太小,可能丢精度本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 企业资源规划ERP沙盘模拟
- ¥15 树莓派控制机械臂传输命令报错,显示摄像头不存在
- ¥15 前端echarts坐标轴问题
- ¥15 CMFCPropertyPage
- ¥15 ad5933的I2C
- ¥15 请问RTX4060的笔记本电脑可以训练yolov5模型吗?
- ¥15 数学建模求思路及代码
- ¥50 silvaco GaN HEMT有栅极场板的击穿电压仿真问题
- ¥15 谁会P4语言啊,我想请教一下
- ¥15 这个怎么改成直流激励源给加热电阻提供5a电流呀