我对C++非常陌生,正在尝试创建一个函数来实现欧几里得算法,该算法返回两个整数输入的最大公约数。
我目前采用的方法一直崩溃 - 你能帮我理解为什么吗?
int main() {
int a = 0;
int b = 0;
cin >> a;
cin >> b;
do {
if ( a > b ) a = a % b;
else if ( a < b ) b = b % a;
else if ( a == b ) break;
} while ( ( a || b ) != 0 );
return 0;
}
感谢您的来信,
David