C语言如何用整数反序扫描文件?

C语言如何用整数反序扫描文件?,c,while-loop,printf,scanf,C,While Loop,Printf,Scanf,我有一个包含数字的小文件,用新行/空格分隔。 我正在寻找一种扫描文件的方法,但方向相反 Input: 1 2 3 4 5 1025 Output: 1025 5 4 3 2 1 注意!在下面的代码中,我需要修改scanf。我需要保持printf不变!我不需要将1024转换为4201,整数保持不变。只有他们的顺序改变了 代码: 你的书堆够大吗 void printreverse(FILE *f) { int n; if (fscanf(f, "%d", &n) != 1)

我有一个包含数字的小文件,用新行/空格分隔。 我正在寻找一种扫描文件的方法,但方向相反

Input: 1 2 3 4 5 1025
Output: 1025 5 4 3 2 1
注意!在下面的代码中,我需要修改scanf。我需要保持printf不变!我不需要将1024转换为4201,整数保持不变。只有他们的顺序改变了

代码:


你的书堆够大吗

void printreverse(FILE *f) {
    int n;
    if (fscanf(f, "%d", &n) != 1) return;
    printreverse(f); // recursive call
    printf("%d", n);
}

你有足够大的堆栈吗

void printreverse(FILE *f) {
    int n;
    if (fscanf(f, "%d", &n) != 1) return;
    printreverse(f); // recursive call
    printf("%d", n);
}

将数字读入数组,然后以相反的顺序打印数组。要么执行困难的反向搜索,要么将其读入数组,然后以相反的顺序打印。循环条件错误。如果发生输入错误,代码将进入无限循环..将数字读入数组并按相反顺序打印数组。要么执行困难的反向搜索,要么读入数组并按相反顺序打印。循环条件错误。如果发生输入错误,代码将进入无限循环..我建议通过递归进行反转,这里是
printf(“%d”,n)->
printf(“%d”,n),输出看起来会更好。@Jabberwocky OP说:“我需要保持printf不变!”@pmg是的,但在他的示例输出中,数字之间有空格。好的,问题中的需求不是第一次相互矛盾。我打算建议通过递归进行反转,这里是
printf(“%d”,n)->
printf(“%d”,n),输出看起来会更好。@Jabberwocky OP说:“我需要保持printf不变!”@pmg是的,但在他的示例输出中,数字之间有空格。好吧,问题中的要求不是第一次相互矛盾。