思路一:
1、建立数组str[ ]存输入的字符串,在建数组temp[ ];
2、比较str数组第一个元素与第二个元素是否为空格,
若不是,则str的第一个元素元素赋值给’temp【0】,并将temp【1】赋值为空格,在进入下次循环;
若是,则 跳出本次循环,进行下一循环;
3、考虑字符串间原本有一个空格情况
#include <stdio.h>
#include <stdlib.h>
#define N 100
void EmbedSpace(char *str);
int main()
{
char str[N];
printf("please input string: ");
gets(str);
printf("output string: ");
EmbedSpace(str);
return 0;
}
void EmbedSpace(char *str)
{
char temp[N];
int i,j;
for(i = 0,j = 0 ; *(str+i) != '\0'; i++ ,j++)
{
if(*(str+i) != ' ' && *(str+i+1) != ' ')
{
*(temp+j) = *(str+i);
j++ ;
*(temp+j) = ' ';
}
if(*(str+i) != ' ' && *(str+i+1) == ' ')
{
*(temp+j) = *(str+i);
j++;
i++;
*(temp+j) = *(str+i);
}
}
*(temp+j) = '\0';
puts(temp);
}