c语言递归函数检测回文,在C中使用递归函数的回文测试
我試圖編寫用于測試字符串的程序,如果它是回文或不是,但我總是得到輸出,因為它不是一個。我的代碼有什么問題?在C中使用遞歸函數的回文測試
#include
#include
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;
}
2013-04-17
Shail
+1
逐行掃描調試器中的代碼。并且使用一個你知道的字符串是一個回文,最好是一個短的字符串,因此它更快。 –
+4
'int length,start = 0,end = length-1;'長度在這里沒有值(尚)。 –
+0
'length'沒有設置任何東西,因此'end'是垃圾。 –
總結
以上是生活随笔為你收集整理的c语言递归函数检测回文,在C中使用递归函数的回文测试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 工行可以自己开通网银吗?
- 下一篇: c语言实验5上机刘若慧2017年,《《