求字符串反序问题,不知道是哪里出错了,结果无法完成反序这一工作,求解答

#include<stdio.h>
#include<string.h>
int main()
{
    void inverse (char cstr[]);
    char str[80];
    gets(str);
    inverse(str);
    puts(str);
}
void inverse(char cstr[])
{
    char ct;
    int i,j;
    for(i=0,j=strlen(cstr);i<=strlen(cstr),j>=0;i++,j--)
    {
        ct=cstr[i];
        cstr[i]=cstr[j-1];
        cstr[j-1]=ct;
    }
}

inverse()里应该for(i=0,j=strlen(cstr); i < j ; i++,j--),否则实际上交换两次回到原序列了


for( i = 0,j = strlen(cstr) - 1; i < j ; i++,j--)