正确的方法 int num = 0; cin>>num; int* p = new int[num]; //动态创建数组 //最终释放创建的数组 for(int j =0;j<num;j++){ delete[] p[i]; } delete []p; 错误的方法 int i = 0; cin>>i; int p [i]; //错误 因为在编译阶段,编译器并不知道 i 的值是多少