안녕하세요
지금 재귀함수 관련해서 회문 만드는 과제중입니다.
그런데 자꾸 런타임 에러가 뜨는데 뭐가 잘못된건지 모르겠습니다 ㅠㅠ
#include <iostream>
#include <cstdlib>
#include <string>
using namespace std;
bool palindrome(const string &s)
{
if (s.empty())
return true;
else if (sizeof(s) == 1)
{
return true;
}
if (s[0] == s[sizeof(s) - 1])
{
return palindrome(s.substr(1,sizeof(s)-2));
}
else
return false;
}
int main()
{
string pal;
cout << "펠린드롬 확인하기.\n\n확인할 문자를 입력하시오: ";
getline(cin, pal);
string &check = pal;
if (palindrome(check))
cout << "이 문자는 펠린드롬입니다. ";
else
cout << "이 문자는 펠린드롬이 아닙니다.";
return 0;
}
이런식으로 짰습니다.
뭐가 잘못된걸까요? ㅠㅠ