一开始犯的错误:
#include#include #include using namespace std; int main() { int n; cin>>n; //动态申请一个a数组 int *a=(int*)malloc(sizeof(int)*n); cout<<"动态申请一个a数组:"< a[i]; } cout<<"输入数组a的值,测试数据1 2 3 4:"< 错误语句
memset(a,0,sizeof(a));
a只是int类型的指针,占据4个字节
#includeusing namespace std; int main() { cout <<"int的字节大小:"<
不同编译器和操作系统指针类型和int类型不一定一样大
错误语句
memset(a,0,sizeof(a));
更正为:
memset(a,0,sizeof(int)*n);
更改过后的代码和运行结果:
#include#include #include using namespace std; int main() { int n; cin>>n; //动态申请一个a数组 int *a=(int*)malloc(sizeof(int)*n); //a只是一个指针,大小只有4个字节 cout<<"动态申请一个a数组:"< a[i]; } cout<<"输入数组a的值,测试数据1 2 3 4:"<



