#include <stdio.h>
char *LookFor_Str(char *RxBuffer,char *RxData);
int main()
{
char *p;
p=LookFor_Str("123","2");
printf("%s\n",p);
return 0;
}
char *LookFor_Str(char *RxBuffer,char *RxData)
{
char *cp =(char *)RxBuffer;
char *s1,*s2;
if (!*RxData)
return((char *)RxBuffer);
while (*cp)
{
s1 = cp;
s2 = (char *)RxData;
while (***s2 && !(*s1 - *s2))**
s1++,s2++;
if (!*s2)
{
return cp;
}
cp++;
}
return "fail";
}
*s2 && !(*s1 - *s2) 这个什么意思
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
_GX_ 2022-01-15 06:35关注while (*s2 && !(*s1 - *s2)) s1++, s2++;等价于
while (*s2 != '\0' && *s1 == *s2) { s1++; s2++; }这段代码的意思是比较
s1,s2两个字符串直到s2结尾或遇到不同的字符。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报