gpt4 book ai didi

c - 为什么 C 中的绝对值函数不接受 const 输入?

转载 作者:行者123 更新时间:2023-12-02 12:07:11 26 4
gpt4 key购买 nike

在 C 语言中,绝对值函数(接受 float )的原型(prototype)是

 float fabsf( float );

为什么这个原型(prototype)不接受一个常量值,如下所示:

 float fabsf( float const );

fabsf 不会改变输入的值,不是吗?

如果我有一个接受输入并调用 fabsf 的函数,我是否必须避免将输入指定为 const?

在这种情况下处理 const 正确性的适当方法是什么?

最佳答案

C 使用按值传递。函数参数的值是您给出的参数的副本。

可以同时复制 const 和非常量 float ,并且结果是非常量 float 。

与赋值类似:

const float f = 5.5f;
float g = f; // OK

事实上,该语言规定表达式的值永远不能为 const,即当从变量读取值时,该值甚至不是 const如果变量是。

关于c - 为什么 C 中的绝对值函数不接受 const 输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59316276/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com