自己写的detab函数

来源:互联网 发布:美国网站域名后缀 编辑:程序博客网 时间:2024/05/18 10:20
#include <stdio.h>#include <stdlib.h>#define MAXN1 1000#define MAXN2 2000void record(char *s);void changeInput(char *input,char *output);/* run this program using the console pauser or add your own getch, system("pause") or input loop */char input[MAXN1];char output[MAXN2];int main(int argc, char *argv[]) {record(input);//printf("%s",input);changeInput(input,output);printf("array is %s",output);return 0;}void record(char *s){char c;while((c=getchar())!='%'){*s=c;s++;}*s='\0';}//printf("%c",c);void changeInput(char *input,char *output){//char *place=NULL;//char *first=NULL;//first=place;//printf("first1=%d",first);//printf("place1=%d",place);while(*input!='\0'&&*input!='\t'){*output=*input;//printf("%c",*output);output++;/*if(*input=='\t'){if(ok1==1){place1=input;ok1=0;}else if(ok2==1){place2=input;ok2=0;}else{addBlank(input,output,place1,place2);ok2=1;}}*/input++; }/*if(*input=='%'){*outputint distance=input-first;while(distance--){input--;}while((*output=*input)!='%'){input++;output++;}*output='\0';}else*///input--;if(*input=='\t'){char *place=NULL;place=input;//printf("place1=%d",place);while(*input!='\0'){if(*input=='\t'){//printf("place2=%d",place);int distance;distance=input-place;//printf("distance=%d",distance);while(distance--){*output=' ';output++;}while(place!=input){*output=*place;place++;output++;}}input++;}}*output='\0';//printf("%s",output);}

注意1赋值的变量对不对

2注意指针在函数第一次调用时又会变成初值


0 0