编写一个 C++ 程序,实现一个功能,即将数组中的每个元素值翻倍。程序应定义一个函数 doubleArray
,该函数接收一个整数数组的指针和数组的大小,然后将数组中的每个元素都翻倍。
代码
#include <iostream>
void doubleArray(int* arr,int size){
for (int i=0;i<size;i++){
arr[i]*=2;
}
}
int main(){
int oriArray[]={1,2,3,4,5};//原始数组
int len=sizeof(oriArray)/sizeof(oriArray[0]);
doubleArray(oriArray,len);
//打印
for (int i = 0; i < len; ++i) {
std::cout << oriArray[i] << " ";
}
}
优化
应该考虑传入的数组为空的情况。处理这种情况可以增加代码的健壮性,确保即使在边界条件或异常情况下,程序也能正确运行而不会引发运行时错误。
#include <iostream>
void doubleArray(int* arr,int size){
if (arr==NULL || size==0){
std::cerr<<"输入空数组!"<<std::endl;
return;
}
for (int i=0;i<size;i++){
arr[i]*=2;
}
}
int main(){
int oriArray[]={};//原始数组
int len=sizeof(oriArray)/sizeof(oriArray[0]);
if (len==0){
std::cerr<<"输入空数组!"<<std::endl;
return 1;
}
doubleArray(oriArray,len);
//打印
for (int i = 0; i < len; ++i) {
std::cout << oriArray[i] << " ";
}
}
int oriArray[]={1,2,3,4,5};//原始数组