输入n行文本,每行不超过80个字符,用字符指针数组指向键盘输入的n行文本(n不作为输入,可理解为循环输入多行,以CTRL+Z结束),删除每一行中的前置空格(' ')和水平制表符('\t')。
要求:将删除一行文本中前置空格和水平制表符的功能定义成函数,在main函数中输出删除前置空格符的各行。(并在最后输出换行符。)
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(){
char *p[40],*p1[40],t[100];
char a[100];
int i=0;
while(gets(t)!=NULL){
p[i]=(char*)malloc(strlen(t)+1);
strcpy(p[i],t);
i++;
}
int flag=0;
for(int j=0;j<i;j++){
flag=0;
for(int k=0;k<strlen(p[j]);k++){
if(flag==0&&*(p[j]+k)==32)
continue;
if(*(p[j]+k)=='\t')
continue;
flag++;
putchar(*(p[j]+k));
}printf("\n");
}
return 0;
}