【c++】如何让变量超限时自动调整,防止数组越界
#include <iostream>
#include <limits> // 为了使用std::numeric_limits
using std::cout;
using std::cin;
using std::endl;
// 智能调整数据(上限)
int SmartChangeMax(int x, int y) {
if (x > y) {
x = y;
}
return x;
}
// 智能调整数据(下限)
int SmartChangeMin(int x, int y) {
if (x < y) {
x = y;
}
return x;
}
// main函数,程序的入口
int main() {
int userinput = 0;
int arr[3] = {1, 2, 3};
// 读取用户输入,并检查是否有效(例如,非负)
cout << "请输入一个非负整数来指定要打印的数组元素数量(最多3个): ";
if (!(cin >> userinput) || userinput < 0) {
cout << "无效的输入!请输入一个非负整数。" << endl;
return 1; // 返回非零值表示错误
}
// 使用SmartChangeMax确保不越界
for (int i = 0; i < SmartChangeMax(userinput, (int)sizeof(arr) / sizeof(arr[0])); i++) {
cout << "arr[" << i << &#
原文地址:https://blog.csdn.net/weixin_56334307/article/details/140534209
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!