这行代码感觉很奇怪,到底什么意思?

2019-03-24 11:28发布

这段代码是检测字符串s中是否有字符串t,但是看不懂  for (t_temp = t; *t_temp == *m_temp; t_temp++, m_temp++);这句代码是怎么个逻辑顺序,请指教下!

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 != ''; s_temp++)
{
  m_temp = s_temp;
  for (t_temp = t; *t_temp == *m_temp; t_temp++, m_temp++);
  if (*t_temp == '')
                  return s_temp;
}
return 0;
}

此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
find_shell
1楼-- · 2019-03-24 19:10
for (t_temp = t; *t_temp == *m_temp; t_temp++, m_temp++);
意思就是判断*t_temp字符是否匹配 *m_temp,如果匹配就让2则的位置下移一个,后面的if就是检查指针是否下移了!
面纱如雾
2楼-- · 2019-03-24 20:10
 精彩回答 2  元偷偷看……
小二郎
3楼-- · 2019-03-24 21:30
判断*t_temp和*m_temp的内容是否一致,一致的话就加1,取下一个的内容比较。后面t_temp++后面是逗号
小二郎
4楼-- · 2019-03-24 23:42
面纱如雾 发表于 2014-5-25 10:35
但是这条for语句的最后是个分号“;”,这代表什么意思?

一直在循环

一周热门 更多>

相关问题

    相关文章