c语言中的函数调用问题(不运行啊)

来源:百度知道 编辑:UC知道 时间:2024/07/04 05:25:16
#include<stdio.h>
void main()
{
int judge(int n);
int k,i;
printf("please enter the integer number:");
scanf_s("%d",&k);
judge(k);
for(i=2;i<k;i++)
if(judge(k)==0)
printf("tne number is not a prime number");
else if(judge(k)==1)
printf("the number is a prime number");
}

int judge(int n)
{
int flag,k,i;
for(flag=1,i=2;flag&&i<k/2;i++)
if(n%k==0)
flag=0;
else
flag=1;
return(flag);
}

main函数里的 int judge(int n);不能如此调用,直接judge(整数)
而且返回值是int,可以把它赋给一个int型变量,或者用于比较。

scanf_s("%d",&k);
应该是scanf("%d",&k)吧,

函数的声明不能放在main的定义里,把它放出main上面吧,int judge(int n)这个函数里的k初始都没有就用了,电脑可没那么智能化,不会给你自动赋值的,先初始化吧
flag&&i<k/2 这个大大的有问题,自己想一下