1-20编写程序detab,将输入中的制表符替换成适当数目的空格,使空格充满到下一个制表符终止的地方。假设制表符终止的位置是固定的, 比如每隔n列就会出现一个制表符终止位。n应该作为变量还是符号常量呢

/*编写程序detab,将输入中的制表符替换成适当数目的空格,使空格充满到下一个制表符终止的地方。假设制表符终止的位置是固定的,
比如每隔n列就会出现一个制表符终止位。n应该作为变量还是符号常量呢?*/
#include<stdio.h>
#define TABINC 8
main() {
int c = 0;
int count = 0;//添加*的个数
int pos = 1;//输入的字符在输入中的位置
while ((c = getchar()) != EOF){
if (c == '\t') {
count = TABINC - (pos - 1) % TABINC;//8个字符一组,其中有制表符的用*补充
while (count > 0) {
printf("*");
++pos;
--count;
}
}
else if (c=='\n') {
putchar(c);
pos = 1;
}
else {
putchar(c);
++pos;
}
}
}

上一篇:Golang入门到项目实战 | go语言切片的遍历


下一篇:Vue 源码解读(1)—— 前言