自己写的detab函数

#include <stdio.h>
#include <stdlib.h>
#define MAXN1 1000
#define MAXN2 2000

void 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=='%')
	{
		*output
		int 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注意指针在函数第一次调用时又会变成初值


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值