求救!!!这个C语言有一个错误??

来源:百度知道 编辑:UC知道 时间:2024/05/25 08:31:08
#include <math.h>
main()
int prime(int x)
{
int i;
for(i=2;i<x;i++)
if(x%i==0)
break;
return i==x;
}

出现declaration syntax error的错误?

把prime函数的声明于封装放到main函数外面,下面提供两种形式。
1、
int prime(int x);

main() {
...
prime(..); /* 这里对prime函数调用 */
...
return 0;
}

int prime(int x) {
...
/* 这里是实现代码 */
...
return ...
}

2、
int prime(int x) {
...
/* 这里是实现代码 */
...
}

main() {
...
prime(..); /* 这里对prime函数调用 */
...
return 0;
}

C语言里不允许在函数内部定义别的函数

i==x 这个表达式的值是个bool类型,不是int型