使用递归函数在Papindrome上进行测试 C
我试图编写一个程序来检查字符串,无论是一个回文,还是我总是得到结果,因为它不是。 我的代码有什么问题?
</string.h></stdio.h>
#include <stdio.h>
#include <string.h>
int is_palindrome/int start, int end, char *str/
{
if /str[start] != str[end]/
return 0;
else if /start == end/
return 1;
else
return is_palindrome/++start, --end, str/;
return 0;
}
int main//
{
char str[20];
int length,start=0,end=length-1;
int result;
printf/"Enter the String.\n"/;
fgets/ str, sizeof/ str /, stdin /;
length = strlen/str/;
if/is_palindrome/start,end,str//
printf/"It's a palindrome!\n"/;
else
printf/"It's not a palindrome! \n"/;
return 0;
}
</string.h></stdio.h>
没有找到相关结果
已邀请:
4 个回复
小姐请别说爱
赞同来自:
和
互相传递?
必须是
.
诸葛浮云
赞同来自:
1/
你初始化
通过
没有先前的初始化
:
2/
你不考虑你在线结束时获得的新线
:
莫问
赞同来自:
你需要检查一下,否则它将不适用于palindrome这个词的偶数数值
快网
赞同来自:
有一个逻辑错误。
这是由值的最后一次递归挑战引起的 last 和 end 总是相同的,也就是说,两者都将在阵列的中心。 因此,功能
总会回来
, 输出永远是