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

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/20 09:39:19
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;
}
就是错的.
请问第二种为什么是错的?会出现死循环.

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赋值