【发布时间】:2025-12-16 12:05:02
【问题描述】:
我在 C++ 中编写了反转字符串的函数,但它导致“停止工作”。
#include<iostream>
#include<string.h>
using namespace std;
string reverse(string s1)
{
string s2;
for(int i=0;i<s1.length();i++)s2[i]=s1[s1.length()-i-1];
return s2;
}
int main()
{
string s1,s2;
cin>>s1;
s2=reverse(s1);
cout<<s2;
}
可能是什么问题?
【问题讨论】:
-
你没有从
int main()返回任何东西。main()是一个和其他函数一样的函数,它有一个返回值,所以return 0或任何合适的值。这可能会解决您的问题。 -
reverse() 函数中结果字符串的长度是多少?
-
@Jonathon
return 0in main 是隐含的,您不必提供它。 -
@JonathonOgden
main是一个例外,您不必返回某些东西,在这种情况下它将return 0。 -
顺便说一句,标头是
<string>,<string.h>是一个 C 标头,如果您需要它,您应该将它包含为<cstring>(您不需要此代码)。
标签: c++ string algorithm reverse