- 论坛徽章:
- 0
|
本帖最后由 androiddiscuz 于 2012-08-29 10:36 编辑
回复 18# pmerofc
嗯,谢谢12楼的兄弟。不过改完以后觉得自己的程序也不比参考答案简单了,甚至显得很猥锁了,现在看起来倒是参考答案更清晰明了。- int strend(char *s, char *t)
- {
- unsigned s_len = strlen(s);
- unsigned t_len = strlen(t);
- if(s_len < t_len)
- return 0;
- s += (s_len - t_len);
- while (*s == *t)
- {
- if (*s == '\0')
- return 1;
- ++s;
- ++t;
- }
- return 0;
- }
复制代码 至于两位争辩的关于strlen函数的问题,我目前是无能为力了。看了它的代码,我觉得自己要写也只能写成这样(很可能还不如,呵呵),而且按照隐藏细节的原则来的话,还得自己封装个函数,有重复发明轮子的嫌疑。
顺便把strlen函数的代码贴上,有道行的兄弟、前辈们请继续发表高见,小弟在一旁学习了,谢谢!- size_t strlen(const char *s) {
- const char *eos = s;
- while (*eos++);
- return (int) (eos - s - 1);
- }
复制代码 |
|