当前位置:编程学习 > C/C++ >>

跪求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

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,