
经分析,以上代码使用flag的值来判断帆纳输入的n是否为素数,flag=1,n为素数;flag=0,n不是素数。完善if条件语句,第亩轿隐一个if,主函数中的if调用函数,需要填入一个参数,迅厅即prime(n);第二个if,是判断什么情况下flag=0,即输入的整数不为素数,即(n/i==0),余数为0,可以整除;最后返回flag的值,returnflag
但是经过运行可以知道,n=4的时候,程序判断4是素数,明显是错误的,n取0和1的时候同理,程序存在漏洞。分析得知,在定义函数的过程中,for循环条件语句,i=0,如果为负整数,另加判断条件,略)
在C语言中,判断语句的一般格式为
if(expr1){
//some codes
}
else if(expr2)
{
//some codes
}
else if(expr3)
...
else
{
//some codes
}
//out of check
执行时,会依照没野书写顺序,依次判断各个expr,如果有一个为真,则执行后续的{}内语句,并不再执行后续判断,而是态态直接从out of check开始执行。
else if的数量不限,可以不存在,也可以有任意多组。
else同样可以不存在。
每个else 与最其之前最近的没有匹配else的if相结合。
判断执行的语句{}部分,大括号对可以省略,省略后,if仅对其下一语句生效。帆察源
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)