请教高手编译器(Microsoft Visual C++ 2010 Express)的问题
工具:Microsoft Visual C++ 2010 Express做了一个练习,功能是判断一个数是否为素数,但是发现函数返回值的类型定义为 bool 型时总是报错 : error C2061: 语法错误: 标识符“IsPrime” 将函数返回值的类型定义为 int 型时不再报错,能顺利通过,请教高手,这是编译器的问题吗?该如何设置?
#include <stdio.h>
bool IsPrime(int val) //就是在这里报错,改为 int 型时不再报错
{
int i;
for (i=2;i<val;++i)
{
if (val%i == 0)
break;
}
if (i == val)
return true;
else
return false;
}
int main(void)
{
int m;
scanf_s("%d",&m,1);
printf("\n");
if ( IsPrime(m) )
printf("%d是素数\n\n",m);
else
printf("%d不是素数\n\n",m);
return 0;
}