将abcd字符串反转dcba,老师昨天刚说,但是忘了哪里出问题了,求大神

#include
#include
using namespace std;

string f(string s)
{
if(s.length()==1) return s;
else return f(s.substr(1))+s.substr(0,1);

}

main()
{
string s='abcd';
cout<<f(s);
}

其实不是你的错啦,你的住函数没有写类型 void main(),这是习惯啊,不然就写int main(){return 0;}
另外s="abcd";一个字符才用‘a’

哦 你的main函数里面声明的 string s 赋值时用的是单引号,
单引号引起的一个字符代表一个整数,整数值对应于该字符在ASCII字符集中的序列值;

双引号引起的才是字符串,所以提示你类型不匹配的错误

string s='abcd';改成string s="abcd";

你用的turbo C?那void可以不加的,好像

那好像通过不了吧,main不加返回类型,你试试