在C中,绝对值函数(接受浮点数)的原型为
float fabsf( float );
为什么这个原型不接受一个常数,像这样:
float fabsf( float const );
fabsf不会更改输入的值,对吗?
如果我有一个接受输入并调用fabsf的函数,是否必须避免将输入指定为const?
在这种情况下处理const正确性的适当方法是什么?
C使用按值传递。函数参数的值是您提供的参数的副本。
复制const和non-const float都可以,结果是non-const float。
类似于作业:
const float f = 5.5f;
float g = f; // OK
实际上,语言指定表达式的值永远不能为const
,即,从变量中读取值时,即使该变量为,该值也不是const
。