#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
结尾或遇到不同的字符。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 Attention is all you need 的代码运行
- ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
- ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
- ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
- ¥30 关于<main>标签页面跳转的问题
- ¥80 部署运行web自动化项目
- ¥15 腾讯云如何建立同一个项目中物模型之间的联系
- ¥30 VMware 云桌面水印如何添加
- ¥15 用ns3仿真出5G核心网网元
- ¥15 matlab答疑 关于海上风电的爬坡事件检测