几行没看懂。给个执行流程理解下

jun0616 2012-01-13 01:33:40
char *match(char *str,char const *want)
{
while(*want !='\0')
if(*str++ != *want++)
return NULL;

return str;
}
假设 str = bianchenghaoxinku want = hao

调用函数后返回的str是什么?请给出大概执行流程
...全文
53 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wxwlll 2012-01-13
  • 打赏
  • 举报
回复
上面说错了,我在TC和Code:blocks中调了一下,都是bianchenghaoxinku

代码如下:

#include <stdio.h>
#include <stdlib.h>
char *match(char *str,char const *want)
{
while(*want !='\0')
if(*++str != *want++)
return NULL;

return str;
}
int main()
{
char *a=NULL,*b="bianchenghaoxinku";
char const *c="hao";
a=match(b,c);
printf("b=%s\n",b);
return 0;
}
jun0616 2012-01-13
  • 打赏
  • 举报
回复
自己看错了。。。不好意思啊。!结贴
nice_cxf 2012-01-13
  • 打赏
  • 举报
回复
字符串完全匹配
在str头部查找匹配want,如果找到,返回指向匹配完之后的位置
例如
str= "this is a test ";
want ="this "
那么结果返回"is a test "
如果
want ="is"
return NULL
wxwlll 2012-01-13
  • 打赏
  • 举报
回复
ianchenghaoxinku,因为return就直接返回并退出了!
恨天低 2012-01-13
  • 打赏
  • 举报
回复
自己单步调试吧。。

jun0616 2012-01-13
  • 打赏
  • 举报
回复
跟过了,没明白
尘缘udbwcso 2012-01-13
  • 打赏
  • 举报
回复
单步运行

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧