一个小小的C语言初级...问题,大侠请帮忙

来源:百度知道 编辑:UC知道 时间:2024/04/30 03:52:19
我写了以下的程序:

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

#define TRUE 1
#define FALSE 0

void getNumber(int *number);
int isPrime(int number);

int main()
{
int number;

getNumber(&number);

if (isPrine(number))
printf("\n%d is a prime number\n", number);
else
printf("\n%d is not a prime number\n", number);

return 0;
}

void getNumber(int *number)
{
printf("Please enter a positive number ");
if (scanf("%d", number) != 2)
{
printf("Invalid number entered\n");
exit(1);
}
}

int isPrime(int number)
{
int count, s;

/* Every even number is not prime */
if (number % 2 == 0) return TRUE;

/* check every odd number up to the square root of the numbe

程序本身没有问题,可能是你的编译器有问题,换个编译器就好了.
可是你的程序里出现了几个小错误,比如,在main函数中调用if(isPrine(number)),应该是isPrime不是isPrine.
还有,你的sqrt函数要求的参数可能应该是double型,而你传递的是一个int,还有它的返回也是如此,最好强制转换.不过那不是什么大的问题,因为我想可能你的编译器比较老,没有那么智能,如果你在vc++8中运行,你要修改的地方更多,但不应该出现你的编译器所说的错误.

你用什么编译的啊

把int main()前面的int去掉,main是主函数,一般没有返回值,即使加个类型,也应是void main().