[最佳答案] 其实你这个函数头的第三个参数有些多余,因为把一个数组作为参数传递给一个函数时,需要同时传递这个数组的大小,而你却没有第四个参数来表示数组的大小,因此下面的代码没有用到你的第三个参数. #include <iostream> using namespace std; bool isSuShu(int); void fun(int,int); int main() { int a,b; cout << "请输入一个数: "; cin >> a; cout << "请输入你要输出的素数个数: "; cin >> b; fun(a,b); return 0; } bool isSuShu(int a) // 判断一个数是否是素数 { int m = 1; int n; do { m++; n = a % m; } while (n != 0); return m == a; } void fun(int a,int b) { int *c = new int[b]; // 在堆内存中创建一个数组