①例子
判断n是否为素数?
素数即只能被1和自身整除的数,
若能被2至n/2任意一个数整除,
就不是素数。
~
②else情况在循环中
int f (int n)
{int k,yes;
for (k=2;k<=n/2;k++)
/*k在2至n/2循环递增,循环结束加1*/
if(n%k==0)yes=0;
/*若n%k==0,即n能被k整除,
则yes=0,为假,即不是素数*/
else yes=1;
/*若n不能被k整除,
则yes=1,为真,即是素数。
此处可能n可能遇到一个不能整除的k,
即k还没循环完全部情况,
就误判为素数,
所以else必须在循环外,在程序结尾*/
return yes;
}
~
③else情况在循环外(结尾处)
int f (int n)
{int k;
/*不需要yes*/
for (k=2;k<=n/2;k++)
if(n%k==0)return 0;
/*若n%k==0,即n能被k整除,
则函数值=0,为假,即不是素数,
for循环结束*/
return=1;
/*循环结束,已经排除所有情况,
若n不能被k整除,
则函数值=1,为真,即是素数
由于在for循环外,也不在 if语句中,
不需用else,但还是否则的语境。*/