c++中颠倒字符串怎么写?那里有错误

#include<iostream>
#include<cstring>
#include<stdio.h>
using namespace std;
void mystrrev(char string[])
{
int i,j;
char c;
i=0;j=strlen(string)-1;
while(i<j)
{
c=string[i];
string[i]=string[j];
string[j]=c;
}
}
main()
{
char s[100];
int i=0;
gets(s);
mystrrev(s);
puts(s);
}

首先strlen并不需要-1

其次

while(i<j)
    {
        c=string[i];
        string[i]=string[j];
        string[j]=c;
    }

条件是i<j 问题是i 根本不会长, 这样就是死循环了

温馨提示:答案为网友推荐,仅供参考