Jac*_*k H 3 c++ segmentation-fault
我已经阅读了有关分段错误的内容,但未能理解为什么应该由以下代码引起.
#include<iostream>
#include <stdlib.h>
using namespace std;
int main(){
int input;
cout << "Enter length of desired array." << "\n";
cin >> input;
int A [input];
//Populate and print the Array.
for(int i=0; i<sizeof(A); i++){
A[i] = rand()%99;
cout << A[i] << " ";
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
sizeof给你大小的字节数.要查找元素计数,请将数组大小(以字节为单位)除以元素的大小:
for(int i=0; i < sizeof(A) / sizeof(A[0]); i++)
Run Code Online (Sandbox Code Playgroud)
你正在做的事情是在整个过程中写入3次(在大多数系统上)数组的大小,这会导致段错误.