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

这篇博客介绍了如何编写一个名为detab的C语言程序,该程序能将输入中的制表符转换为相应数量的空格,确保空格填充到下一个预设的制表符位置。文章假定制表符的终止位置是固定的,每n列出现一次。
摘要由CSDN通过智能技术生成

练习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减去它得到得到
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值