C语言[Error] declaration of 'int k' shadow a parameter

C语言 码拜 9年前 (2015-11-13) 2357次浏览
#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
解决方案:10分
原因是你函数参数已经用了k了,然后你里面又定义了一个

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明C语言[Error] declaration of 'int k' shadow a parameter
喜欢 (0)
[1034331897@qq.com]
分享 (0)