一个很简洁的C⼀C++面试题

float a=3.1243;int s,t=3;s=a*3; 问该段代码还可以怎样优化一下?
2025-04-27 09:20:50
推荐回答(4个)
回答1:

不知你所谓的优化是?
其实你的代码已经很简短了,如果还想优化,就要从精度入手,你的s在这里等于9,为什么?因为你的s就是int型的,所以会舍去小数点后的数字,所以该将s改为浮点型,如float,double,这样,你的s就完全正确了。

回答2:

float a=3.123400f;
int t =3;
int s = 9; //3*a直接计算出来

回答3:

float a=3,1243;
int t=3;
int s=static_cast(a)*t;
在c++premier中看到了类似的东西,用类型转换省略了s转换成float类型。初学c++,不对的话请高手拍砖。

回答4:

float a = 3.1243;
int t = 3, s = 9;