fscanf - C中的分段错误(核心转储)

时间:2013-11-23 12:23:39

标签: c segmentation-fault scanf

在遇到以前从未发生过的问题时,正试图写一个小程序。 fscanf函数中似乎存在分段错误,但无法真正解决问题。这是我的代码:

#include <stdio.h>

int main(){
    FILE *fin = ("file.in", "r");
    int n, t;
    fscanf(fin, "%d %d", &n, &t);
    return 0;
}

和file.in:

3 19

希望你有一些想法。任何帮助表示赞赏!
Rugile:)

2 个答案:

答案 0 :(得分:3)

未初始化的变量FILE *fin = ("file.in", "r"); - 导致未定义的行为。

FILE *fin = fopen ("file.in", "r");

由于逗号操作符效应,("file.in", "r")评估为"r",因此进行编译。

答案 1 :(得分:2)

FILE *fin = fopen ("file.in", "r");

如果做FILE *fin = ("file.in", "r");

海湾合作委员会报告:

warning: initialization from incompatible pointer type [enabled by default]