gpt4 book ai didi

C++ If 语句变量作用域

转载 作者:行者123 更新时间:2023-11-30 02:13:51 25 4
gpt4 key购买 nike

我有这个函数,当我运行它时,由于变量 numer 的范围,它给了我错误的答案。有没有办法为此函数只使用一个返回语句。我不得不分开返回语句,它给了我正确的答案(你可以用 // 看到)。

double calc_real_root(double a, double b, double c, double disc, double operation)
{
double denom=2*a;
double numer;
if (operation == ADD)
{
double numer = -b + sqrt(disc);
//return numer / denom ;
}

else
{
double numer = -b - sqrt(disc);
//return numer / denom ;
}
return numer / denom ;
}

最佳答案

您已经声明了三个 个名为numer 的变量:

  1. 第一个未初始化,用在return语句中
  2. if
  3. 正文中的那个
  4. else
  5. 正文中的那个

解决方案是从 ifelse 主体中删除 double。例如,

numer = -b + sqrt(disc);

关于C++ If 语句变量作用域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58811820/

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