You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何正确编写C++中的平方与立方计算函数?运行报错如何解决?

C++代码运行异常原因
  • 核心问题是函数内未使用传入参数,且局部变量未初始化就参与运算
  • 你编写的squareit、cubeit函数接收的形参名为in,但函数内部完全没有用到这个外部传入的数值,反而额外定义了局部变量x,且没有给x赋任何值
  • C++中未初始化的栈局部变量会存储随机垃圾值,基于该值计算得到的平方、立方结果完全不符合预期,甚至会触发程序运行异常。

修复方案

删除函数内无用的局部变量x,直接用传入的参数in做计算即可,修复后的完整代码如下:

#include <iostream>
#include <iomanip>

using namespace std;

double squareit(double);
double cubeit(double);

int main() 
{
    double inputnumber;
    cout << "Enter a floating point number\n";
    cin >> inputnumber;
    cout << "Your number squared is " << squareit(inputnumber) << endl;
    cout << "Your number cubed is " << cubeit(inputnumber) << endl;
}
double squareit(double in)
{
    return in * in;
}
double cubeit(double in)
{
    return in * in * in;
}

内容的提问来源于stack exchange,提问作者Darin Hinze

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 21:36:04