【发布时间】:2012-11-13 22:10:00
【问题描述】:
我有一个名为 test.c 的程序和一个名为 test.in 的输入文件。我正在尝试从输入文件中读取两个字符串并将它们输出到控制台。我正在运行 Windows 7,但我正在使用 gcc 使用 MinGW 进行编译。
这是我的文件 test.c:
#include <stdio.h>
main() {
FILE *fin = fopen ("test.in", "r");
char *one, *two;
fscanf(fin, "%s %s", one, two);
printf("%s\n%s", one, two);
fclose(fin);
return 0;
}
这是我的文件 test.in:
ONE
TWO
我去 MinGW,运行“gcc -o test.exe test.c”,一切编译正常,但是当我运行 test.exe 时,弹出一个窗口并说“test.exe 已停止工作。Windows正在努力寻找解决问题的办法……”
有人知道这是为什么吗?
【问题讨论】:
-
打开你的编译器警告,他们会告诉你
one和two未初始化。将-Wall与 gcc 一起使用。另外,int main.