关于C语言指针的一个问题如图,求解释~

 我来答
Dear_佩佩
2014-12-17 · 超过22用户采纳过TA的回答
知道答主
回答量:43
采纳率:0%
帮助的人:38.1万
展开全部
//这样理解不
int sss(char *s, char *t)
{
//(*s) 没有到字符串 s 的结尾
//(*t) 没有到字符串 t 的结尾
//(*t++==*s++) 判断对应位置的字符是否相等, 然后指针后移
while ((*s)&&(*t)&&(*t++==*s++))//条件同时成立
{
;
}
//终止时(1) s 指向结尾, t 没有到结尾, 返回 (*s - *t) 为正数
//终止时(2) s 指向结尾, t 指向结尾, 返回 (*s - *t) 为 0
//终止时(3) s 没有到结尾, t 指向结尾, 返回 (*s - *t) 为负数
return (*s - *t);
}
百度网友0c7521a
2014-12-17 · TA获得超过207个赞
知道小有建树答主
回答量:208
采纳率:0%
帮助的人:146万
展开全部
应该是三个条件不太清楚吧?

(*s)指的就是指针s不为空,(*t)也是这个意思。当两个指针指向的东西都不为空时,才进行比较。
*t++==*s++可以拆成三句话看,
1)比较*t==*s
2)t++
3)s++
比较t和s指向的内容是否相等,然后指针指向下一位,继续循环。当出现两个指针所指内容不一致时,返回指向内容的差。
可以改成
while((*s)&&(*t))
{
if(*s==*t)
{
s++;
t++;
}
else
{
s++;
t++;
break;
}
}
追问
(*s)&&(*t)&&(*t++==*s++)到底是什么意思,求详细解释
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2014-12-17 · 超过70用户采纳过TA的回答
知道小有建树答主
回答量:397
采纳率:0%
帮助的人:135万
展开全部
因为有一个等于的符号 所以是比较大小
更多追问追答
追问
完全不懂这道题,能否逐条语句详细解释一下?
追答
这道题是错的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
185*****157
2014-12-17
知道答主
回答量:2
采纳率:0%
帮助的人:2527
展开全部
不懂
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式