无法运行使用gcc(minGW)编译的.exe文件

时间:2014-09-16 17:15:16

标签: c gcc mingw msys

我有这个C代码:

#include <stdio.h>

int main(void)
{

    int courses = 1, groups, students = 54, average_pr_group;

    /* The variable groups is uninitialized */

    average_pr_group = students / groups;

    printf("Groups: %d\n", groups);

    printf("There are %d students pr. group in %d course(s)\n", average_pr_group, courses);

    return 0;
}

现在我使用shell(cmd)中的命令编译它:

gcc test.c -o test.exe -lm -Wall

它编译得很好,但是当我尝试通过Windows资源管理器运行生成的.exe时出现此错误: Error running .exe file compiled with gcc

相比之下,我可以编译&amp;运行这段代码就好了:

# include <stdio.h>
int main()
{
    printf("Hello World");
    return 0;
}

我在C:\ MinGW安装了MinGW 这是我的用户PATH变量: User path variable

我可以使用msys运行.exe,是否只是为了抵御这些错误而构建的?

2 个答案:

答案 0 :(得分:2)

变量groups可能为零,因此除以零:

average_pr_group = students / groups;

答案 1 :(得分:1)

由于变量组未初始化,因此它具有未定义或垃圾值,这就是程序崩溃的原因...除以未初始化的变量会导致崩溃......