int main(int argc, char* argv[/url]) { int c, nb, nt, pos; nb = 0; nt = 0; for(pos = 1;(c = getchar()) != EOF; ++pos){ if(c == ' '){ if((pos % TABSTOP) != 0){ nb++; } else{ nb = 0; nt++; } } else{ for(; nt > 0; --nt){ putchar('\t'); } for(; nb > 0; --nb){ putchar(' '); } putchar(c); if(c == '\n'){ pos = 0; } } } return 0; }タブストップに関する問題なのですが、
これだと最後の行がもし空白の列で
一番最後に改行を入れない場合空白が吐き出されないのですが
何故かわかる方いますか? 原因と対策を教えて下さい。