Is this the best way to reverse a string in C (not in place)?
What about this:

/*
IN: string to have characters reversed
OUT: string containing characters in reversed order
*/
char* reverStr(const char *str)
{
        int index=strlen(str);
        char* revStr = (char*)malloc(index--);
        int destIndex=0;
        while (0&lt;=index)
            revStr[destIndex++] = str[index--];
        revStr[destIndex]=0; 
        return revStr;
}