【问题标题】:Is this the right way to implement a return statement in a function? My function won't return a value这是在函数中实现 return 语句的正确方法吗?我的函数不会返回值
【发布时间】:2021-07-18 18:31:52
【问题描述】:
#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;
    add(num1, num2);
    return 0;
}

Add() 函数在我运行代码时不返回 sum。但是,当我用cout &lt;&lt; sum &lt;&lt; endl 替换return sum 时,我的程序运行良好。我是一个完整的 C++ 初学者

【问题讨论】:

  • 您需要一个变量来分配返回值。 int s = add(num1, num2);
  • 它正在返回一个值,但您在 main() 中的代码没有使用返回的值。也许你想要 cout

标签: c++ return


【解决方案1】:

您的 add 函数可以很好地返回总和。你只是什么都不做。考虑

#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;
  cout << add(num1, num2) << endl;
  return 0;
}

不管怎样,add 中带有cout 的版本不能正常工作。

int add(int x, int y) {
  int sum = x + y; 
  cout << sum << endl;
}

此函数表现出未定义的行为。它声明了一个非void 的返回类型,但什么也不返回。在您的代码中仅存在此函数(即使您从未调用它)会使整个程序无效,并允许编译器对您的代码进行任意操作。打开编译器警告(-Wall);它会为你发现很多这样的问题。

【讨论】:

    猜你喜欢
    • 2020-05-09
    • 1970-01-01
    • 1970-01-01
    • 2020-01-18
    • 2016-05-23
    • 2020-04-07
    • 2021-10-23
    • 2015-03-14
    • 2018-06-28
    相关资源
    最近更新 更多