太原建设设计公司网站,网站建设标书,沈阳淘宝网站建设,大学网站建设管理制度1、问题
//如果参数字符串是个回文,函数就返回真,否则返回假。回文就是指一个字符串从左向右和从右向左读是一样的。函数应该忽略所有的非字母字符,而且在进行字符比较时不用区分大小写。 2、代码实现 #include stdio.h
#include ctype.h//如果参数字符串是…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