嘗試寫了一個輸入輸出文件和小程序,因為出問題的就只有這兩行代碼,所以沒有把其他代碼貼上來
最初代碼是這樣的 head[][5]
char head[][5] = { "id", "name", "age", "grade" };
fprintf ( input_file, "%s\t%s\t%s\t%s\n", head[0], head[1], head[2], head[3] );
但是輸出後會看到grade後面有一個 ? 字符
但是將 head[][5] 改成 head[][6] 就不會出現這個問題
head 數組最長的元素也只有5個字符啊,但是為什麼輸出的時候會變成這樣?
是因為 \0 的關系嗎?
是因為 \0 的關系,長度 5 時就沒有了,sizeof(head[3]) 是等於 6 的,可以改為 fnprintf