My reverse string code in C
Wednesday, 2. September 2009, 21:11:50
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void reverserWord(char* string, int strlength);
int main(int argc, char* argv[])
{
char* srcstring = "I will earn bigger money tomorrow";
char* outstring = NULL;
char tmp;
char* cptr;
int strlength;
int i,j;
outstring = malloc(strlen(srcstring)+1);
if (outstring != NULL) {
strlength = strlen(srcstring);
strcpy(outstring, srcstring);
outstring[strlength] = '\0';
printf("Input string:%s\n", outstring);
reverseWord(outstring, strlength);
for (i = 0, j = 0; outstring[j]!= '\0'; j++) {
if ( (outstring[j] == ' ' && outstring[j+1] != ' ') ||
outstring[j+1] == '\0' ) {
cptr = &outstring[i];
strlength = j - i;
reverseWord(cptr, strlength);
i = j+1;
}
}
printf("output string %s\n", outstring);
free(outstring);
}
return 0;
}
void reverseWord(char* string, int strlength)
{
int i;
char tmp;
for ( i = 0 ; i < strlength /2 ; i++ ) {
tmp = string[i];
string[i] = string[strlength-i-1];
string[strlength-i-1] = tmp;
}
}











