函数不接受两个参数
#include <iostream>
using namespace std;
int GCD,MUL;
void gcdn();
int main()
{
int a,b;
cout<<"Please input two integers:"<<endl;
cin>>a>>b;
gcdn(a,b);
MUL=a*b/GCD;
cout<<"The gcd is : "<<GCD<<endl;
cout<<"The mul is :"<<MUL<<endl;
}
void gcdn(int x,int y)
{
while(!x==0)
{
x=y+x%y;
y=x-y;
x=x-y;
}
GCD=x;
}
为什么这样就不行了?
[解决办法]
void gcdn(int x,int y)
{
while(!x==0)
{
x=y+x%y;
y=x-y;
x=x-y;
}
GCD=x;
}
根据 x=y+x%y;
y=x-y;
x=x-y;
可以知道是先y先到0或负数, x=y+x%y;无法执行。这是程序也将无法执行了。