在尝试编写一个小程序时遇到了一个以前从未发生过的问题。fscanf函数似乎存在分段错误,但无法真正解决问题。这是我的代码:
#include <stdio.h>
int main(){
FILE *fin = ("file.in", "r");
int n, t;
fscanf(fin, "%d %d", &n, &t);
return 0;
}
文件.in:
3 19
希望你有一些想法。感谢您的帮助
Rugile:)
未初始化的变量FILE *fin = ("file.in", "r");
-导致未定义的行为。
FILE *fin = fopen ("file.in", "r");
它之所以编译,是因为由于逗号运算符的影响,("file.in", "r")
的求值结果为"r"
。
FILE *fin = fopen ("file.in", "r");
如果做得像FILE *fin = ("file.in", "r");
GCC报告:
warning: initialization from incompatible pointer type [enabled by default]