C语言 求最大公约数 辗转相除法的问题while (r=x%y){\x05x=y;\x05y=r;\x05}这是基本的如果我改成while(r!=0){r=x%y;x=y;y=r;}就是错的.请问第二种为什么是错的?会出现死循环.

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/20 06:37:07
C语言 求最大公约数 辗转相除法的问题while (r=x%y){\x05x=y;\x05y=r;\x05}这是基本的如果我改成while(r!=0){r=x%y;x=y;y=r;}就是错的.请问第二种为什么是错的?会出现死循环.
xQJA!Pחt (!YXH)-Aѵ(DCv-"ݵgvE>ܙ=97_,2k^5 ɕImļ64ѦˠtϏOQ ˥M%]+eK "cQUC"O&ǑA 65 H 9. \HUbO80haW;tXjOvhÆKmXq%pKD,΅p*8W<ފ?}B!A\cP$!M$V@RDzEHW݈C(\5j1b ޟQWhsL,#E$ %1/O a=xɻ

C语言 求最大公约数 辗转相除法的问题while (r=x%y){\x05x=y;\x05y=r;\x05}这是基本的如果我改成while(r!=0){r=x%y;x=y;y=r;}就是错的.请问第二种为什么是错的?会出现死循环.
C语言 求最大公约数 辗转相除法的问题
while (r=x%y)
{
\x05x=y;
\x05y=r;\x05
}
这是基本的
如果我改成
while(r!=0)
{
r=x%y;
x=y;
y=r;
}
就是错的.
请问第二种为什么是错的?会出现死循环.

C语言 求最大公约数 辗转相除法的问题while (r=x%y){\x05x=y;\x05y=r;\x05}这是基本的如果我改成while(r!=0){r=x%y;x=y;y=r;}就是错的.请问第二种为什么是错的?会出现死循环.
r==x%y; //这只是个逻辑比较,没有给r赋值
改成
r = x%y; //这才是给r赋值