C++ 处理数组时指针中的分段错误

C++ 处理数组时指针中的分段错误,c++,arrays,pointers,C++,Arrays,Pointers,我试图将数组元素与5相乘,但是我得到了核心转储的错误,如果不是,那么它只与第一个元素相乘5 代码如下: #包括 使用名称空间std; int ptr_乘法(int[],int); int main(){ 整数大小; coutsize; int arr[尺寸]; 库特 第一行:取消引用不指向任何地方(未初始化)的指针。这是错误的,会导致未定义的行为。当没有int时,尝试将其指定给int 第二行:不取消对指针的引用。当实际要将指针指向的int乘以5时,将指针的值乘以5(请记住:指针指向的int) 此

我试图将数组元素与5相乘,但是我得到了核心转储的错误,如果不是,那么它只与第一个元素相乘5

代码如下:

#包括
使用名称空间std;
int ptr_乘法(int[],int);
int main(){
整数大小;
coutsize;
int arr[尺寸];
库特
第一行:取消引用不指向任何地方(未初始化)的指针。这是错误的,会导致未定义的行为。当没有
int
时,尝试将其指定给
int

第二行:不取消对指针的引用。当实际要将指针指向的
int
乘以
5
时,将指针的值乘以
5
(请记住:指针指向的
int

此处不需要指针:

for (int i=0;i < s1;i++) {
    int value = a1[i];
    value *= 5;
    cout<<"The Elements"<<" "<< i <<" "<<" after multiplying 5 is =="<<value;
}
for(int i=0;iint
时,尝试将其指定给
int

第二行:不取消对指针的引用。当实际要将指针指向的
int
乘以
5
时,将指针的值乘以
5
(请记住:指针指向的
int

此处不需要指针:

for (int i=0;i < s1;i++) {
    int value = a1[i];
    value *= 5;
    cout<<"The Elements"<<" "<< i <<" "<<" after multiplying 5 is =="<<value;
}
for(int i=0;i可能ptr_multiply中for循环中的条件不正确。由于C参数调整的晦涩和过时规则及其误导性语法,
a1
已经是一个指针。您可以像使用
ptr
a1
那样增加它并使用它,与
ptr
相反,它的优点是实际指向它mething;-)。您还希望使用
完成每个输出,ptr_multiply中for循环中的条件不正确。由于C参数调整的神秘和过时规则及其误导性语法,
a1
已经是一个指针。您可以像使用
ptr
a1
一样递增并使用它,而不是
ptr
,具有实际指向某物的优点;-)。您还希望使用