C fgetc同时用作同一函数的参数时的奇怪行为

时间:2017-04-23 05:52:13

标签: c fgetc

我正在使用fgetc从文本文件中读取和验证流,一次一个字符,但由于某种原因,它会重新排序字符。文本文件包含类似“abc”

的内容
void newFunction(int i, int j, int k);

int main()
{
    FILE *fp;
    /...opens text file.../
    newFunction(fgetc(fp), fgetc(fp), fgetc(fp));
}

void newFunction(int i, int j, int k)
{
    printf("%d %d %d", i, j, k,);
}

我期待a b c,但为什么我的代码会提供c b a

1 个答案:

答案 0 :(得分:0)

void newFunction(int i, int j, int k);

int main()
{
    FILE *fp;
    /...opens text file.../
    int i = fgetc(fp);
    int j = fgetc(fp);
    int k = fgetc(fp);
    newFunction(i,j,k);
}

void newFunction(int i, int j, int k)
{
    printf("%d %d %d", i, j, k);
}

您可以执行上述操作以避免在评估参数时出现歧义。

相关问题