C和指针之字符串编程练习10(判断字符串是否是回文数)
生活随笔
收集整理的這篇文章主要介紹了
C和指针之字符串编程练习10(判断字符串是否是回文数)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、問題
//如果參數字符串是個回文,函數就返回真,否則返回假?;匚木褪侵敢粋€字符串從左向右和從右向左讀是一樣的。函數應該忽略所有的非字母字符,而且在進行字符比較時不用區分大小寫。
2、代碼實現
#include <stdio.h> #include <ctype.h>//如果參數字符串是個回文,函數就返回真,否則返回假?;匚木褪侵敢粋€字符串從左向右和從右向左讀是一樣的。函數應該忽略所有的非字母字符,而且在進行字符比較時不用區分大小寫。 int palindrome(char *string) {if (string == NULL)return 0;char *start = string;char *end = string;//把end指向'\0',然后退以下,這里不要寫成while (*end++ != '\0');//不然需要--end兩次while (*end != '\0'){++end; }//尾巴指針退到字符串末尾--end;while (start < end){//這里不能用if,if只能移動一個非字符的下標,如果非字符是//連續的話,這里用if就會有問題while (!isalpha(*start))++start;while (!isalpha(*end))--end;//只要發現不相等,就返回0if (*start != *end)return 0;++start;--end
總結
以上是生活随笔為你收集整理的C和指针之字符串编程练习10(判断字符串是否是回文数)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C和指针之字符串编程练习1
- 下一篇: C和指针之字符串实现my_strrchr