Hi ,

I have written a piece of code to reverse a sentence by reversing individual words at a time..
I have tried it and it works fine.

Code:
#include <stdio.h>
#include <string.h>

void reverseWords( char* );

int main(void)
{
	char string[] = "String to reverse";
	
	printf("\nOriginal string is : %s\n", string);
	reverseWords( string );
	printf("\nReverse string is : %s\n", string);
}

void reverseWords( char* string ) 
{
	char temp;
	char *start = string;
	char* end = start;
		char* endPtr = string;

	while(*endPtr != '\0')
	{
		start = endPtr;
		end = endPtr;

		while(!isspace(*end))
		{
			end++;
			if(*end == '\0')
				break;
			
			endPtr = end;
			endPtr++;
		}
		end--;
		
		while(start<end)
		{
			temp = *start;
			*start = *end;
			*end = temp;
			start++;
			end--;
		}
	}
}
Though it works fine I think the code can be improved further. Can someone help me optimize it.

Thanks.