#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注意指针在函数第一次调用时又会变成初值