版权声明:本文为博主原创文章,未经博主允许不得转载。 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;
}
}