关于do-while语句中while()判断条件--c语言初学者求助

求两个正整数的最大公约数与最小公倍数如下程序 #include void main() { int m,n,a,b,i; scanf("%d%d",&m,&n); if(m>0&&n>0){ b=m*n; if(m<n) {a=m; m=n; n=a; } do{i=m%n; m=n; n=i;}while(n=0); printf("最大公约数为:%d\n",m); b=b/m; printf("最小公倍数为:%d\n",b); } } 其中while判断条件若为while(n=0) 可输出正确值 若为while(n==0) 无法执行 =不是赋值么 ==才是等于 不是应该为while(n==0)么?

while(n
>0
)
你的while(n==0)的意思是:当n!=0时,循环就结束掉,,,,,所以肯定得不出答案的,
你的while(n
=
0
)
可以为赋值状态,可以当做true处理的。。。
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

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