#include
int Prime(int pvar, int pnum) {
int i = 0;
int count = 0;
for (pvar = 2;; pvar++) {
for (int i =2; i < pvar; i++) {
if (pvar % i == 0) {
break;
}
}
if (pvar == i) {
printf("%d", pvar);
count++;
}
if (count == pnum) {
break;
}
}
return pnum;
}
int main()
{
int pvar = 2;
int pnum;
int prime = 0;
printf("请输入素数的数量:");
scanf("%d", &pnum);
if (Prime(pvar, pnum)) {
}
return 0;
}
改动处见注释,供参考:
#include<stdio.h>
void Prime(int pvar, int pnum) {
//int Prime(int pvar, int pnum) 修改
int i = 0;
int count = 0;
for (pvar = 2;; pvar++) {
for (i = 2; i < pvar; i++) {
//(int i = 2; i < pvar; i++) 修改
if (pvar % i == 0) {
break;
}
}
if (pvar == i) {
printf("%d ", pvar); //修改
count++;
}
if (count == pnum) {
break;
}
}
//return pnum; 修改
}
int main()
{
int pvar = 2;
int pnum;
int prime = 0;
printf("请输入素数的数量:");
scanf("%d", &pnum);
Prime(pvar, pnum);
//if (Prime(pvar, pnum)) { 修改
//}
return 0;
}
把for循环那个int i 的int去了 试一试。循环外面已经有定义了, 作用域超出了后变量无效,