打印

这段代码什么意思

[复制链接]
355|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhanghqi|  楼主 | 2017-1-6 20:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

uchar *LookFor_Str(uchar *s, uchar *t)
{
uchar    *s_temp;      
uchar    *m_temp;      
uchar    *t_temp;     
if (s == 0 || t == 0) return 0;
for (s_temp = s; *s_temp != '\0'; s_temp++)
{
  m_temp = s_temp;
  for (t_temp = t; *t_temp == *m_temp; t_temp++, m_temp++);
  if (*t_temp == '\0')
                  return s_temp;
}
return 0;
}

相关帖子

沙发
lizye| | 2017-1-6 20:25 | 只看该作者
什么意思?不是很明白你说的什么,能再解释一下这个现象吗

使用特权

评论回复
板凳
zhanghqi|  楼主 | 2017-1-6 20:27 | 只看该作者
这段代码是检测字符串s中是否有字符串t,但是看不懂  for (t_temp = t; *t_temp == *m_temp; t_temp++, m_temp++);这句代码是怎么个逻辑顺序,请指教下!

使用特权

评论回复
地板
liliang9554| | 2017-1-6 20:29 | 只看该作者
看样子是想采用滑动查询的方式来进行检测!

使用特权

评论回复
5
zhaoxqi| | 2017-1-6 20:32 | 只看该作者
for (t_temp = t; *t_temp == *m_temp; t_temp++, m_temp++);
for语句圆括号中有三部分内容,用两个分号分隔,第一部分是设置for循环的初始值;第二部分是循环终止测试条件,第三部分是测试条件变更。
也即for(初始值;循环终止条件;循环条件值变更)
先赋初始值,之后测试是否满足终止条件,若满足则执行循环体语句,然后更改循环条件值,然后再测试……若不满足则退出循环
此语句:for (
t_temp = t; 初始值
*t_temp == *m_temp;测试判断,相等则执行循环语句,不相等则退出
t_temp++, m_temp++);改变字符串的指针,准备比对下一个字符

使用特权

评论回复
6
zhenykun| | 2017-1-6 20:34 | 只看该作者
for (t_temp = t; *t_temp == *m_temp; t_temp++, m_temp++);
这一句有些问题,for后面的圆括号后面没有分号,紧跟的一句为循环语句,若循环语句有多句可以用大括号括起来,也可以为空。

for(初始值;循环终止条件;循环条件值变更)
一条循环语句;

或者
for(初始值;循环终止条件;循环条件值变更)
{
     多条 循环语句;
}

使用特权

评论回复
7
zhanghqi|  楼主 | 2017-1-6 20:36 | 只看该作者
哦,那我就知道怎么回事了,多谢大家,结贴了哈

使用特权

评论回复
8
yujielun| | 2017-1-6 22:30 | 只看该作者
查询字符串。

使用特权

评论回复
9
yujielun| | 2017-1-6 22:32 | 只看该作者
就是字符里面的某个字符所在位置。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

852

主题

11757

帖子

5

粉丝