[filename.exe]已停止在c编程IDE为Eclipse时工作

[filename.exe]已停止在c编程IDE为Eclipse时工作,c,C,我是C编程的初学者,在eclipse IDE中为GCD编写了一个程序,如下所示: #include <stdio.h> int main() { int a, b, t; scanf("%d,%d", &a, &b); printf("GCD of %d, %d is", a, b); if (a < b) { t = a; a = b; b = t; } while

我是C编程的初学者,在eclipse IDE中为GCD编写了一个程序,如下所示:

#include <stdio.h>
int main()
{
    int a, b, t;
    scanf("%d,%d", &a, &b);
    printf("GCD of %d, %d is", a, b);
    if (a < b) {
        t = a;
        a = b;
        b = t;
    }
    while (!(t==0) {
        t = a;
        a = b;
        b = t % b;
    }
    printf(" %d",a);
}
当使用Build All选项时,其显示信息:无需为g生成任何内容,当我尝试运行该程序时,它显示Filename.exe已停止工作


我已经重新启动了IDE以及系统,但同样的错误再次出现

好吧,既然你提到你是初学者。让我解释一下

当程序崩溃时会发生这种情况。这可能是由于各种原因。通常,您必须使用一些调试工具。但在这种情况下,正如约阿希姆·皮莱博格在评论中提到的那样,这很简单

你必须考虑当“b”变为零时会发生什么。您正在尝试将某个值除以零。这在数学上是不可能的。这就是你的程序崩溃的原因

这与基础数学有关,而不是编程。

现在发生的是,您正在遭遇崩溃。您应该在调试器中运行以定位崩溃,我打赌它将在表达式t%b处停止,b为零。@Olaf,他可能不知道!=,正如OP所说,他是个初学者。你的确切输入是什么?whilet->whileb@Olaf我的问题不是代码=“0”,因为我已经纠正了这一点,并且忘记在此处进行编辑,但编译器会给出错误消息,当它停止时,它会给我提供调试选项,但并不总是按照它的“将调试”选项提供,所以解决方案是什么。