C语言调试题 帮帮忙

来源:百度知道 编辑:UC知道 时间:2024/06/17 04:30:13
以下fun函数用以判断n是否是素数,fun函数中有逻辑错,请调试改正
fun(int n)
{ int k,yes;
for(k=2; k<=n/2; k++)
if(n%k==0) yes=0;
else yes=1;
return yes;
}

#include<stdlib.h>
#include<math.h>
#include<stdio.h>

int fun(int n)
{ int k,yes=1;
for(k=2; k<=sqrt(n); k++)
if(n%k==0) yes=0;
return yes;
}

int main()
{
int a=9;
if(fun(a))
printf("a is a sushu!");
else
printf("a is not sushu!");
system("pause");
}

可以了

if(n%k==0) 改为if(n%k=0)