gpt4 book ai didi

c - C语言中*f和(*f)的区别?

转载 作者:太空宇宙 更新时间:2023-11-04 05:52:46 25 4
gpt4 key购买 nike

CppCheck (v1.72) 表示使用 (*f) 或仅使用 *f 时存在差异。本案

void test(float *f)
{
float a = 0.0f;
if(*f>a)
{
(*f) += 0.01f;
if(*f<a) *f=a;
}
}

cppCheck 说“嵌套的‘if’ block 中的相反条件会导致死代码块,其中

void test(float *f)
{
float a = 0.0f;
if(*f>a)
{
*f += 0.01f;
if(*f<a) *f=a;
}
}

让 cppCheck 开心。究竟有什么区别?

最佳答案

没有区别。理想情况下,cppcheck 应该在这两种情况下警告您,因为您的代码不合逻辑。

但是,cppcheck 并非万无一失。不要假设如果 cppcheck 没有显示任何问题,就没有任何问题。它只是另一个有用的工具,可以帮助发现可能无法检测到的错误代码。

关于c - C语言中*f和(*f)的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35415498/

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