C++ 处理数组时指针中的分段错误
我试图将数组元素与5相乘,但是我得到了核心转储的错误,如果不是,那么它只与第一个元素相乘5 代码如下: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) 此
#包括
使用名称空间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
,具有实际指向某物的优点;-)。您还希望使用