《C程序设计语言》1-20
题目:编写程序,将输入中的制表符替换成适当数目的空格,使空格充满到下一个制表符终止的地方。
假设制表符终止位的位置是固定的,比如每隔n列就会出现一个制表符终止位。n应该作为符号常量,等到学完向主程序传 递参数时,可设成变量。
#include <stdio.h>
#include <stdlib.h>
#define TABINC 8//每隔TABINC列就出现一个终止符位
/*编写程序,将输入中的制表符替换成适当数目的空格,使空格充满到下一个制表符终止的地方。
假设制表符终止位的位置是固定的,比如每隔n列就会出现一个制表符终止位
*/
int main()
{
char c;
int number = 0;//当前位置到下一个终止符位的长度
int pos = 1;//当前位置
while( (c = getchar()) != EOF){
if(c == '\t'){
number = TABINC - (pos - 1) % TABINC;
while(number--){
printf(" ");
pos++;
}
}
else if(c == '\n'){
pos = 1;
}
else{
putchar(c);
pos++;
}
}
return 0;
}