练习1-20:请编写程序detab,将输入中的制表符替换成适当数目的空格,适空格充满到下一个制表符中止的地方。假设制表符终止位的位置是固定的,比如每隔n列就会出现一个制表符终止位。n应该作为变量还是符号常量呢?
1 #include <stdio.h> 2 #define TABINC 8 3 4 main() 5 { 6 int c, nb, pos; 7 nb = 0; 8 pos = 1; 9 while((c = getchar())!= EOF) 10 { 11 if(c =='\t') 12 { 13 nb = TABINC - (pos - 1) % TABINC; 14 while (nb > 0) 15 { 16 putchar(' '); 17 ++pos; 18 --nb; 19 } 20 }else if(c == '\n') 21 { 22 putchar(c); 23 pos = 1; 24 }else 25 { 26 putchar(c); 27 ++pos; 28 } 29 } 30 }