练习1-20
编写程序detab ,将输入中的制表符替换成适当数目的空格,使空格充满到下一个制表符终止位的地方。假设制表符终止位的位置是固定的,比如每隔n列就会出现一个制表符终止
可以通过这篇文章了解制表符的原理:
在这篇文章了解了什么是制表符终止位?_Eureka1024的博客-CSDN博客_制表符终止位
#include <stdio.h>
#define N 8
int main(){
//制表符原理
printf("1234567\t0\n");
printf("12345678\t0\n");
printf("123456789\t0\n");
int c ;
int pos = 0;
int nb = 0;
while((c=getchar()) != EOF)
{
//只要不是制表符就输出,并且将pos移到制表符前的第一个字符
if(c != '\t')
{
putchar(c);
pos++;
if(c == '\n')//这里需要对末尾的换行符进行处理,不然第二次的时候会出现错误
pos = 0;
}
else
{
//对N(8)进行取模,再用N减去它得到得到