I've been trying to get this code to remove spaces and replace them with '%' but I can't seem to get it to work. Could someone please tell me what I'm doing wrong?
Input: The fox jumped over the moon.
Outcome: The fox jumped over the moon.
Desired outcome:
Input: The fox jumped over the moon.
Output: The%fox%jumped%over%the%moon.
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define SPACE ' '
int main()
{
char string[100], *blank, *start;
int length, c = 0, d = 0;
printf("Enter a string
");
gets(string);
length = strlen(string);
blank = string;
start = (char*)malloc(length+1);
if ( start == NULL )
exit(EXIT_FAILURE);
while(*(blank+c))
{
if ( *(blank+c) == SPACE && *(blank+c+1) == SPACE )
{}
else
{
*(start+d) = *(blank+c);
d++;
}
c++;
}
*(start+d) = '';
printf("%s
", start);
free(start);
system("PAUSE");
}
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…