fscanf没有存储任何内容

时间:2017-03-29 00:55:57

标签: c arrays scanf subscription

#define TERMMAX 100
typedef struct{
    int coef;
    int expon;
} poly;
poly term[TERMMAX];
int avail = 0;

#define TERMMAX 100
enter code here
int main()
{
    int i;
    FILE *fp = fopen("a.txt", "r");

    while(fscanf(fp, "%d\t%d", &term[avail].coef, &term[avail].expon) != EOF)
        avail++;

上面的fscanf部分工作得很好但是下面的fscanf没有。

    while(fscanf(fp, "%d\t%d", &term[avail].coef, &term[avail++].expon) != EOF)
        ;

没有任何东西存储在term []。expon中。为什么呢?

1 个答案:

答案 0 :(得分:2)

IIRC,标准未指定功能参数的评估顺序。功能参数的任何副作用都是不确定的顺序。