while(x)是什么意思啊?

if (!(x%y))
{
return y;
}
do
{
i=x%y;
x=y;
y=i;
}while(y);
return x; 谁能解释这一段啊

if (!(x%y))
//x%y是取余操作,x%y是取x除以y的余数,所以!(x%y)就是判断的x是否能被y整除,如果能整除,x%y等于0,!(x%y)为真,进行return y处理;如果不能整除,x%y不为0,!(x%y)为假,不进行if内处理,继续后续处理。
{
return y;
}

do
{
i=x%y; //将x除以y的余数赋值给i
x=y; //将y的值赋值给x,也就是将本次的除数作为下一次的被除数
y=i; //将i的值赋值给y,也就是将本次的余数作为下一次的除数
}while(y); //将y值作为while循环是否继续的判断条件,当y值不为0时,循环继续,否则循环终止。也就是说,当x不能整除y时,循环一直继续下去,直到x能整除y。
return x;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-02-10
while() 括号里就是判断条件循环的语句~!
任何非零数都被认成是真;继续下面循环语句
如果是0 那么循环结束 跳出循环~
第2个回答  2015-10-02
循环语句,计算机的一种基本循环模式。当满足条件时进入循环,不满足跳出。while语句的一般表达式为:
while(表达式)
{
循环体
}
循环中可以使用continue结束当前循环,回到循环开始处开始下一次循环。也可以用break跳出整个循环。
第3个回答  2009-02-10
这样给你注释一下吧,稍加修改你应该能明白
if ((x%y)==0) /*当x整除y时成立*/
{
return y;
}
do /*当x不整除y时开始循环*/
{
i=x%y; /*i是x、y的余数*/
x=y;
y=i; /*y赋给x,i赋给y,然后判断,如果整除,则结束循环*/
}while(y!=0); /*当y不等于0时继续循环*/
return x;
第4个回答  2009-02-09
当y不为0
执行do循环
整个程序的翻译是
如果(x除以y的余数不为0)
返回y的值
当y不为0
那么i=x除以y的余数
把y的值赋予x
把i的值赋予y
最后返回x的值

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网