C++中调用独立自定义函数时如何返回多个整数值?
代码问题修正说明
现有代码存在的问题
Values函数定义为void无返回值类型,不能直接放在cout输出语句中拼接,会直接引发编译错误- 没有处理第一个输入数大于第二个输入数的场景,这种情况下函数不会输出任何内容
- 输出的整数之间没有分隔符,多个数字会连在一起无法区分
- 你写的
Values函数内部已经直接执行了控制台输出逻辑,不需要在main函数的cout里重复嵌套调用
修正后可运行代码
#include <iostream> #include <string> using namespace std; void Values(int number1, int number2); int main() { int x; int x1; int x2; cout << "请输入1、2、3或4" << endl; cin >> x; if (x == 1) { cout << "请输入两个整数" << endl; cin >> x1 >> x2; cout << "两个数之间的所有整数为:"; // 直接调用Values函数,函数内部自行完成输出 Values(x1, x2); cout << endl; } return 0; } void Values(int number1, int number2) { // 兼容第一个数大于第二个数的场景,交换后保证从小到大输出 if (number1 > number2) { int temp = number1; number1 = number2; number2 = temp; } for (; number1 <= number2; number1++) { // 数字之间加空格分隔,提升可读性 cout << number1 << " "; } }
实现效果说明
- 当用户输入1后,按照提示输入两个整数,函数会自动输出两个数之间的所有整数(包含输入的两个端点值)
- 无需在意输入的两个数的大小顺序,函数内部已经做了兼容处理
- 输出的数字之间用空格分隔,不会出现内容粘连的问题
内容的提问来源于stack exchange,提问作者fruitsalad330
相关产品推荐
相关产品推荐

