// demo3.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include#include using namespace std;int str_len(const char *str){ const char *temp=str; assert(str!=NULL); while(*str++!='\0'); //这种求字符串的算法很高效 return(str-temp-1);}int str_str_find(const char *src,const char *sub){ const char *bp; const char *sp; const char *temp=src; if (src==NULL||sub==NULL) { return 0; } while(*src) { bp=src; sp=sub; do { if (!*sp) { return src-temp+1; } } while (*bp++==*sp++); src+=1; } return 0; //找不到字符串}int _tmain(int argc, _TCHAR* argv[]){ char a[]="helloworld"; char b[]="lhho"; int m=str_str_find(a,b); cout< <
1.2 回文判断
#include "stdafx.h"#include#include using namespace std;bool isRevStr(const char *str) //回文字符串判断{ const char *start=str; //头指针 const char *end=NULL; //尾指针 assert(str!=NULL); while(*++str!='\0'); int len=str-start; //字符串长度 end=str-1; //指向尾指针 //注意下面的代码和上面的不同之处 /*while(*str++!='\0'); int len=str-start-1; //字符串长度 上面没有-1 end=str-2; //指向尾指针 -2不是-1 */ for (int i=0;i