LmeH @ 2023-02-22 19:45:19
#include <stdio.h>
void reverseSentence();
int main()
{
reverseSentence();
return 0;
}
void reverseSentence()
{
char c;
scanf("%c", &c);
if (c != '\n')
{
reverseSentence();
printf("%c", c);
}
}
by SCAR_L @ 2023-02-22 21:29:10
说问题:经过测试,发现输入文件可能末尾并没有换行,所以reverseSentence函数应该改成:
void reverseSentence()
{
char c;
if (scanf("%c", &c) != EOF)
{
reverseSentence();
printf("%c", c);
}
}
这里再简单解释一下含义:其实scanf和cin都有返回值,cin的为成功读入次数,scanf好像为-1(即EOF)为读入失败(即读到了文件末尾)。
上代码:C++
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s;
cin>>s;
for(int i=s.size()-1;i>=0;i--)
cout<<s[i];
return 0;
}
by SCAR_L @ 2023-02-22 21:30:27
(有用可以点个关注,若还是不对则私信)