- 论坛徽章:
- 0
|
本帖最后由 FaintKnowledge 于 2012-07-17 13:06 编辑
回复 3# hellioncu
改了...
-----------------------------------------------
情况是这样的
以《C程序设计语言》中的一例:- [root@localhost Chapter5]# cat strend.c
- #include "stdio.h"
- #include "stdlib.h"
- int strend(char *s,char *t);
- //测试
- main()
- {
- char *ps="abcddcd";
- char *pt="c:d";
- printf("%d\n",strend(ps,pt));
- }
- //函数定义
- int strend(char *s,char *t)
- {
- char *bs = s;
- char *bt = t;
- //遍历每一个元素
- while(*s)
- s++;
- while(*t)
- t++;
- //遍历完成,s指向s结尾,t指向t结尾----------------------------------------------------------------
- for(;*s == *t ;s--,t--) //从结尾开始比较,倒着进行遍历,查找t和s指向的内容是否相同,相同,则进行循环体的内的判断
- if( t == bt || s == bs)
- break; ------如果到达s或者t的起始部位,for语句结束,否则,继续循环,然后往下执行
- ----------------------------------------------------------------
- if(*s == *t && t == bt && *s != '\0') [color=Red]------------遍历结束后,判断这个条件,然后操作?[/color]
- return 1;
- else
- return 0;
- }
复制代码 |
|