C语言 这个程序好复杂,看的我头都晕了, 大神帮忙讲一下,谢谢

 我来答
晚非
2015-08-11 · 超过16用户采纳过TA的回答
知道答主
回答量:58
采纳率:0%
帮助的人:21.9万
展开全部
从b中找到与a中第一个相等的y,之后判断a中剩余的字符和b中的’y‘后面的字符是否按位相等,此时是相等的,比较完之后,p指针指向结束符\0,跳出循环,此时i是‘y’的位置,输出从y的地址开始直到结束
追问
是不是当*p=='\0'时,跳出内循环,然后在if跳出外循环,谢谢
追答
准确来说,是当*p=='\0'时,内循环正常结束,然后if跳出外层的循环
弑绯
2015-08-11 · TA获得超过2500个赞
知道小有建树答主
回答量:893
采纳率:75%
帮助的人:718万
展开全部
1、定义一个字符串型指针 a,它指向“you”这字符串的存储地址
2、定义一个字符串数组b,内容如题;
3、for(i=0;b[i]!=‘\0';i++)意思是进行循环,直到b数组的最后一个元素停止循环。
注:字符串的最后一个字符默认是'\0',它代表字符串完结。
4、if(*a==b[i])这里的*a指的是字符串指针a所指地址存储的字符串的第一个元素。也就是y。5、这个if语句的判定意思是,只要b数组中的元素是y的时候执行if语句
6、p=a意思是将a的地址赋值给指针p,也就是说指针p指向指针a
7、for(j=1;*p!='\0';j++) 因为p指向a,而a又指向you。所以p可以理解为指向you。同上*p=y。判断if语句if(*p!=b[j])。如果*p的值不等于b[j]的值,就停止循环。否则执行p++
注:*p代表you的一个元素,也就是y,*(p+1)代表you的第二个元素,也就是o,以此类推
8、最后输出b[i]的值
追问
谢谢
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Random556675
2015-08-11 · 超过34用户采纳过TA的回答
知道答主
回答量:78
采纳率:0%
帮助的人:63.3万
展开全部

追问
谢谢,你真的很用心,感谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式