将功能与"int main"问题分开(初学者)
Seperating a Funciton From "int main" Issues (Beginner)
在被称为主函数的函数中用作参数时,如何正确地获得要更新的变量?
#include "iostream"
int getUserNumber (int input) {
std::cout << "Please input an integer: ";
std::cin >> input;
return input;
}
int main () {
std::cout << "testing getUserNumber functionn";
int a = 104;
getUserNumber(a);
std::cout << "n" << a << "n";
return 0;
}
每当我打印"a"来测试值时,它并不等于控制台中输入的值,只返回它最初等于的值104。我正在寻找"a",通过使用getUserNumber从输入的整数(如"6")更新。感谢您审阅我的代码。
您可以使用返回的int.
像。。
int getUserNumber () {
int input;
std::cout << "Please input an integer: ";
std::cin >> input;
return input;
}
in main() {
...
int a = getUserNumber();
...
}
#include "iostream"
int getUserNumber () {
int input;
std::cout << "Please input an integer: ";
std::cin >> input;
return input;
}
int main () {
std::cout << "testing getUserNumber functionn";
int a = getUserNumber();
std::cout << "n" << a << "n";
return 0;
}
链接的重复问题确实解释了为什么它会以这种方式工作。它们在技术上是正确的,但可能有点让人不知所措。让我试着解释一下。
在设计一个函数时,你必须问自己以下问题
- 函数需要调用方提供什么?调用者是调用函数,即
main
- 函数返回什么
例如,考虑一个名为printANumber
的函数
- 它需要知道要打印什么
- 它没有任何东西可以返回给它的调用者(
main
函数)
因此,签名是
void printANumber(int number) // void here means nothing.
现在,getUserNumber
,
- 不需要来自调用者的任何东西(它通过控制台从用户那里获得号码。而不是通过主函数)。所以它不应该有任何参数
- 它应该把从用户那里得到的数字反馈给主功能,主功能可以用它做任何事情。比如打印、添加、保存等等
所以签名应该是:
int getUserNumber()
若函数需要一些东西并返回一些东西,那个么就有参数和返回值。例如
int add(int number1, int number2) // return value is the sum of both numbers
相关文章:
- 为什么随机数生成器不在void函数中随机化数字,而在main函数中随机化
- 代码在main()中运行,但在函数中出现错误
- C++错误消息*成员参考.**初学者*
- 当我在main中声明了我的2d数组时,为什么我的程序会退出
- QML:修改在不同QML文件(而非main.QML)中定义的子对象的属性
- 不确定要在我的main中放入什么才能使我的代码正常工作
- 函数是否可以访问传递给main()的参数
- 嵌套for循环C++的问题(初学者)
- 在main()之外初始化std::vector会导致性能下降(多线程)
- 我是 C++ 的初学者,我想知道如何在 2D 矢量中获取重复值
- 我的 int main() 中出现堆栈溢出错误
- C++变量名(可以将 main 声明为变量,但对于其他函数名称则不然)
- 当我尝试在 Main 中调用插入函数时,它不是取数字?
- 初学者如何使用标准::any_of?
- File.cpp.o:OpenPose 标志 CMakeFiles/.. 的多重定义/main.cpp.o:首先在这里定
- 为什么类和 main() 函数中也有动态内存分配
- 在 main.cpp 的上下文中找不到目录(带有 CMake 的快板)
- 初学者问题:如何使用这些晦涩难懂的命令,例如C++中的'RenderWindow'
- 将功能与"int main"问题分开(初学者)
- C++ .exe忽略类,只运行 main(初学者)