跪求c语言高手请教
以下程序有一点小弟不懂,望赐教。if (IsPrime(val))
printf("yes!\n");
else
printf("no!\n");这几句无法理解,特别是if (IsPrime(val))
//2011年5月18日
# include<stdio.h>
bool IsPrime(int val)
{ 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 val;
printf("输入一个你想要的数字\n");
scanf("%d", &val);
if (IsPrime(val)) //这一语句还不懂
printf("yes!\n");
else
printf("no!\n");
return 0;
}
答案:分析:
从
bool IsPrime(int val)
{
...
}
可以看出IsPrime是个函数,它的返回值类型是bool型(true or false)。
if 是个条件判断语句,它会先运算其括符内的表达式,真则执行.
所以 if (IsPrime(val)) 会先计算表达式 IsPrime(val) 的值,这是一个函数表达式,
程序会将val参数传给IsPrime函数,运算完后的值返回给 if () 进行判断,
如果值真再往下进行。
简言之,上面是个判断素数的函数!
直译为:如果val是素数,输出yes! 否则输出no!
其他:IsPrime(val)是一个函数判断参数是否是素数,是就返回 true,不是就返回false。 if (IsPrime(val)) 就是if(true)对应yes,if(false)对应no. isprim这个函数的含义应该是判断某个数是不是素数。例如,5这个数字,5不能整除2,3,4,因此,约数自由1与5. if (IsPrime(val)) //这一语句还不懂
————————————————————————————
if() 是一个条件判断,括号里就是条件,在这里条件是:IsPrime(val) 这是一个函数,函数的返回值是ture 或fause ,简单说就是 1或0 。
Prime 的意思就是素数, is prime的意思就是 “是素数” ,明白了吧?
剩下的if ..else 结构你总懂了吧,printf()函数懂了吧?
如果这个都不懂就自己打手心!
上一个:关于C语言的基础编程,一个提问。NO.9
下一个:关于C语言的基础编程,一个提问。NO.8