#include<math.h> int f(int k) { int k,i,flag; for(i=2;i<=(int)sqrt((double)k);i++) { if(k%i==0) flag=0;break;} if(flag) return 1; else return 0; } #include<stdio.h> main() { int k,f(int); for(k=3;k<=100;k++) if(f(k)) printf("%d\n",k); }
解决方案:10分
不能在函数体的最外层定义和函数参数同名的变量。
int f (int k)
{
int k, …
}
你在这里直接定义了一个和函数参数同名的变量 k
int f (int k)
{
int k, …
}
你在这里直接定义了一个和函数参数同名的变量 k
解决方案:10分
原因是你函数参数已经用了k了,然后你里面又定义了一个