C/C++回文字符串收藏

/*回文:回文就是正读反读都一样的字符串,
例如:"radar","12321" 和 "abcba"等
请用递归函数palindrome(),在数组中的字符串为回文时返回true,否则返回false。
函数忽略字符串中的空格和标点符号。 */

#include
#include

/*参数: str字符串 m一半数 n总个数*/
int palindrome(char str[], int m, int n)
{
if(str[m]==str[n-m] && m==0)
return 1;
else if(str[m]==str[n-m])
palindrome(str, m-1, n);
else
return 0;

}

int main()
{
char str[20];
char c;
int n=0;
int flag =0;

while((c=getchar()) !='\n')
{
str[n] = c;
n++;
}

if(n%2==0)
flag = palindrome(str, n/2, n-1);
else
flag = palindrome(str,n/2-1, n-1);

if(flag==0)
printf("不是回文");
else
printf("是回文");

getch();
return 0;
}