我試圖用命令行參數打開一個文件,並在我的'testdata'文件中讀取相反的數字測試數據文件中的數字包含:將數字讀入數組並在C中反向打印0
2
20
200
2000
20000
-2
-20
-200
-20000.
這是我寫到目前爲止的代碼。該文件打印出來,顯然不是相反的。我假設我只是在某處丟失了一個for循環。我也在考慮,也許我應該使用fscanf
而不是fgets
。任何輸入讚賞。
#include <stdio.h>
#define MAX_NUMS 1000
int main(int argc, char *argv[]) {
Int a, n;
char buf[MAX_NUMS];
Int array[MAX_NUMS];
file *pt;
if (argc < 2) {
printf("Usage %s <files..>\n");
}
if ((pt = fopen(argv[1], "r")) == NULL) {
printf("Unable to open %s for reading.\n", argv[1]);
Return 1;
}
while (fgets(buf, MAX_NUMS, pt) != NULL){
printf("%s", buf);
}
for(j = 0; j < MAX_NUMS; j++){
If(fscanf(pt, "%d", &array[a]) != 1);
Break;
For(a = n; a--> 0;){
Printf("%d", array[a]);
}
fclose(pt);
retuern 0;
}
你爲什麼不讀一個數*爲數字*在同一時間到一個數組,然後從最高元素循環到最低? –