我有这个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时出现此错误:
相比之下,我可以编译&amp;运行这段代码就好了:
# include <stdio.h>
int main()
{
printf("Hello World");
return 0;
}
我在C:\ MinGW安装了MinGW 这是我的用户PATH变量:
我可以使用msys运行.exe,是否只是为了抵御这些错误而构建的?
答案 0 :(得分:2)
变量groups
可能为零,因此除以零:
average_pr_group = students / groups;
答案 1 :(得分:1)
由于变量组未初始化,因此它具有未定义或垃圾值,这就是程序崩溃的原因...除以未初始化的变量会导致崩溃......