我对编程和 C++ 非常陌生,所以我确信对于比我更有经验的人来说,这是一个超级简单的问题。但是,唉,我是新手,所以这是我的问题:
我正在尝试构建一个非常简单的函数,它接受两个数字作为参数(例如:下面函数中的 number1 和 number2),然后将值的总和返回给函数。
但是,当我稍后在“int main()”函数中调用我的函数时,我没有得到输入“5”和“4”作为两个参数值所期望的结果。我得到“1”...我看到这是某些东西未按预期正常工作的迹象。
但是,我的问题是我做错了什么?如果有人能解决这个问题(我相信这里的每个人都很可能能解决这个问题,哈哈),我将非常感谢你!
这是我的代码:
#include <iostream>
int return_numbers(int number1, int number2) {
int sum;
sum = number1 + number2;
return sum;
}
int main() {
std::cout << "Hi" << "\n";
return_numbers(5, 4);
std::cout << return_numbers <<"\n";
}
(PS:我添加打印语句只是为了看看它是否是主函数中的错误或其他错误,但这有效;所以,我假设“return_numbers”函数有问题。)
您的代码在
main()
函数中存在一个小问题。当您调用 return_numbers(5, 4)
时,您并未捕获或使用返回值。相反,您尝试打印函数本身,这不是您想要的。
这是代码的更正版本:
#include <iostream>
// Function to return the sum of two numbers
int return_numbers(int number1, int number2) {
int sum;
sum = number1 + number2;
return sum;
}
int main() {
std::cout << "Hi" << "\n";
// Correctly call the function and store the result
int result = return_numbers(5, 4);
// Print the result
std::cout << result << "\n";
return 0;
}
捕获返回值:
int result = return_numbers(5, 4);
此行使用参数
return_numbers
和 5
调用 4
函数,并将返回的总和存储在变量 result
中。
打印正确的值:
std::cout << result << "\n";
此行打印
result
的值,即 5
和 4
的和。
当您运行程序的修正版本时,您应该看到输出:
Hi
9
std::cout << return_numbers(5, 4) << "\n";
这将调用该函数,获取结果,并立即打印它。现在您的程序应该按预期工作,并为您提供两个数字的正确总和。