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

C++函数return语句实现疑问:调用add函数无法返回sum值是何原因?

问题解答

你的add函数中return语句的实现完全正确,函数本身已经成功返回了sum的值,无法看到返回结果是调用逻辑的问题,具体原因如下:

核心原因

return的作用是将计算结果返回到函数被调用的位置,并不会自动将结果打印到控制台。你调用add(num1, num2);时没有对返回的结果做任何接收或使用操作,这个值会被直接丢弃,因此你看不到计算结果。

替换为cout后正常运行的原因

cout << sum << endl;的功能是直接向控制台输出内容,你把return sum替换成输出语句时,相当于在add函数内部直接完成了结果打印,不需要将值回传给main函数做后续处理,所以能直接看到结果,但这和return的功能完全不同:

  • return:将值传回调用该函数的上层代码,供后续逻辑使用
  • cout:仅向控制台打印内容,不会向上层代码传递值

正确的调用方式

如果要使用add函数返回的结果,有两种常用写法:

  1. 定义变量接收返回值后再处理
int result = add(num1, num2);
cout << result << endl;
  1. 直接将函数调用作为表达式输出
cout << add(num1, num2) << endl;

完整可运行示例

#include <iostream>
using namespace std;
int add(int x, int y) {
    int sum = x + y; 
    return sum;
}
int main() {
    int num1, num2;
    cout << "enter" << endl;
    cin >> num1 >> num2;
    int result = add(num1, num2);
    cout << "计算结果为:" << result << endl;
    return 0;
}

内容的提问来源于stack exchange,提问作者Atharva Patil

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 17:39:00