练习 1-20 编写程序detab,将输入中的制表符替换成适当数目的空格,使空格充满到下一个制表符终止位的地方。

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/navicheung/article/details/85057651

C语言程序设计(第二版) 练习1-20 个人设计

练习 1-20 编写程序detab,将输入中的制表符替换成适当数目的空格,使空格充满到下一个制表符终止位的地方。

代码块:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void detab(char s[]);                           //定义detab函数
int main()
{
	char string[80];                            //定义字符数组
	printf("Please enter string: ");
	gets(string);                               //输入字符串
	detab(string);                              //调用detab函数
	puts(string);                               //输出替换后的字符串
	system("pause");
	return 0;
}
//detab函数
void detab(char s[])
{
	int i, j, k, len;
	len=strlen(s);                              //测出字符长度
	s[len]='\0';
	for (i=0; s[i]!='\0'; i++)
		if (s[i]=='\t'){
			for (j=len; j>i; j--)              //如果出现制表符,先由字符串末尾开始向后复制覆盖3个字符
				s[j+3]=s[j];
			for (k=i; k<i+4; k++)              //前面空出的字符由空格填充
				s[k]=' ';
			len+=4;
		}
}

猜你喜欢

转载自blog.csdn.net/navicheung/article/details/85057651