C++ 函数中的用户输入数组
Mohd Mohtashim Nawaz
2023年10月12日
本文讨论了在 C++ 中将用户的输入输入到函数中的数组中的方法。
将数组作为 C++ 函数中的用户输入
在 c++ 的函数中,有三种方法可以将数组作为用户输入。
- 声明一个全局数组。
- 在函数中声明一个数组。
- 在 main 函数中声明一个数组,传给函数。
通过声明全局数组在函数中输入数组
要获取用户对数组的输入,你必须有权访问该数组。最简单的方法之一是声明一个全局数组。
你可以在 C++ 中声明一个全局数组,只需在全局范围内的所有函数之外声明它即可。你还必须声明一个存储数组大小的全局变量。
声明数组后,必须使用任意循环遍历所有数组元素,并将用户输入存储到当前数组索引中。
源代码:
#include <iostream>
using namespace std;
int size = 5;
int arr[5];
void userInput() {
cout << "Enter array elements" << endl;
for (int i = 0; i < size; i++) {
cin >> arr[i];
}
}
void print() {
cout << "Array elements are:" << endl;
for (int i = 0; i < size; i++) cout << arr[i] << " ";
cout << endl;
}
int main() {
userInput();
print();
return 0;
}
请注意,在这种情况下,你必须通过整数指定数组的大小,而不是通过诸如 size
之类的变量。
输出:
Enter array elements
1 8 5 3 7
Array elements are:
1 8 5 3 7
通过在函数中声明数组,用户在函数中输入数组
访问数组并将用户数据输入其中的另一种方法是在函数本身内声明数组。
这样,函数就有了一个局部数组,你可以使用循环遍历它。然后,你可以请求用户输入并将其存储在数组中。
源代码:
#include <iostream>
using namespace std;
void userInput() {
int size = 5;
int arr[size];
cout << "Enter array elements" << endl;
for (int i = 0; i < size; i++) {
cin >> arr[i];
}
cout << "Array elements are:" << endl;
for (int i = 0; i < size; i++) cout << arr[i] << " ";
cout << endl;
}
int main() {
userInput();
return 0;
}
输出:
Enter array elements
8 4 7 2 2
Array elements are:
8 4 7 2 2
通过在主函数中声明数组,用户在函数中输入数组
如果在主函数中声明数组,则不能在接受用户输入的函数内部直接访问它。因此,你必须将数组作为参数传递给函数和数组的大小。
由于默认情况下数组是通过引用传递的,因此你在函数中对数组所做的更改将显示在主函数的数组中。你将能够以这种方式完成作业。
源代码:
#include <iostream>
using namespace std;
void userInput(int arr[], int size) {
cout << "Enter array elements" << endl;
for (int i = 0; i < size; i++) {
cin >> arr[i];
}
}
void print(int arr[], int size) {
cout << "Array elements are:" << endl;
for (int i = 0; i < size; i++) cout << arr[i] << " ";
cout << endl;
}
int main() {
int size = 5;
int arr[size];
userInput(arr, size);
print(arr, size);
return 0;
}
数组可以作为指针发送,例如 int arr
。它不会有任何区别。
输出:
Enter array elements
4 5 9 7 2
Array elements are:
4 5 9 7 2
结论
你已经看到了在 C++ 中将用户数据输入到函数数组中的三种不同方法。
所有三种方法都可以正常工作,但建议在主函数中定义你的数组(如在最后一种方法中),以便你也可以将其传递给其他函数,而不会产生与全局变量相关的歧义.