C++ GCD程序中的奇数APPCRASH错误?
在C++ GCD程序中的奇数APPCRASH错误?,c++,c++11,codeblocks,C++,C++11,Codeblocks,在中,当(a!=0){时,我遇到一个APPCRASH错误,异常代码c0000094,它终止了我的运行。我运行的是C++11 ISO标准,我的IDE是code::Blocks 16。您只是有一个“除以0”错误 演示: int GCD(int a, int b){ while(b!=0){ 免责声明:此程序仅证明存在“0除”错误,它仍然不正确。您只是有一个“0除”错误 演示: int GCD(int a, int b){ while(b!=0){ 免责声明:此程序仅证明存在“0除
中,当(a!=0){
时,我遇到一个APPCRASH错误,异常代码c0000094,它终止了我的运行。我运行的是C++11 ISO标准,我的IDE是code::Blocks 16。您只是有一个“除以0”错误
演示:
int GCD(int a, int b){
while(b!=0){
免责声明:此程序仅证明存在“0除”错误,它仍然不正确。您只是有一个“0除”错误
演示:
int GCD(int a, int b){
while(b!=0){
免责声明:此程序仅证明存在“0除”错误,它仍然不正确。我遇到了一个AppRead错误。用什么输入?可能是“代码> B=0 < /COD>?”MichaelWalz:如果<代码> B=0 < /COD>?@ GuraveHggar抱歉不澄清,我使用了100和150, 150和150,以及150和100。这是一个入门级C++课程的简单任务,所以我不理会例外。(以及:P)@NamelessKing在
while(a!=0)内的某个点上有多不专业)
b
将变为0
,你将被零除。请看@Michael的回答。我遇到了一个应用程序崩溃错误。使用什么输入?可能是在b=0
时?@MichaelWalz如果b=0
?@GauravSehgal抱歉没有澄清,我使用了100和150,150和150,以及150和100。这是一个简单的分配给R是一个入门级的C++课程,所以我忽略了例外(以及如何不专业的,是:P)@在代码中的某个点上命名。(A!=0)< /> >代码> B<代码>将变成<代码> 0 < /代码>,你将被除以零。参见@米迦勒的答案。
#include <iostream>
using namespace std;
int GCD(int a, int b) {
while (a != 0) {
int temp = b;
if (b == 0)
{
cout << "Divison by 0\n";
return 0;
}
b = a % b;
a = temp;
}
return a;
}
int main() {
int a = 0, b = 0;
cout << "Please enter two integers to find their GCD using the Euclidean algorithm.";
cin >> a >> b;
cout << "The greatest common divisor of " << a << " and " << b << " is " << GCD(a, b) << ".";
}
5
5