| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 1048 人关注过本帖
标题:这个程序看不懂 求高手解答
取消只看楼主 加入收藏
露营地
Rank: 2
来 自:湛江
等 级:论坛游民
帖 子:150
专家分:23
注 册:2015-6-27
结帖率:92.86%
收藏
已结贴  问题点数:20 回复次数:8 
这个程序看不懂 求高手解答
#include <stdio.h>
#include <string.h>

char *fun(char *s, char *t)
{
char *a, *p, *r;
a=NULL;
while(*s)
{
p=s;
r=t;
while(*r)
if(*r==*p)
{
r++;
p++;

}
else
break;
if(*r=='\0')
a=s;
s++;
}
return(a);
}


void main()
{
char s[20], t[20], *p;
printf("please input string s:");
scanf("%s", s);
printf("please enter string t:");
scanf("%s", t);
p=fun(s, t);
if(p)
printf("the result is %s", p);
else
printf("not found!");
getch();
}


不要不要的。。。
2015-08-15 12:29
露营地
Rank: 2
来 自:湛江
等 级:论坛游民
帖 子:150
专家分:23
注 册:2015-6-27
收藏
得分:0 
回复 2楼 T_MACC
这个程序的目的是 求出s所指字符串中最后一次出现的t所指字符串的地址 并用过函数值的返回, 在主函数中输出从此地址开始的字符串   就是看不到

不要不要的。。。
2015-08-15 12:34
露营地
Rank: 2
来 自:湛江
等 级:论坛游民
帖 子:150
专家分:23
注 册:2015-6-27
收藏
得分:0 
回复 5楼 T_MACC
这个程序的目的是 求出s所指字符串中最后一次出现的t所指字符串的地址 并用过函数值的返回, 在主函数中输出从此地址开始的字符串   
就是  如果输入s=abc123ab12345ab67890    t=ab
那么 输出就是67890

不要不要的。。。
2015-08-15 14:49
露营地
Rank: 2
来 自:湛江
等 级:论坛游民
帖 子:150
专家分:23
注 册:2015-6-27
收藏
得分:0 
回复 4楼 T_MACC
这个好像只能实现  输出在字符串s中第一次遇到的t字符串把 就是
s=123ab456ab789   t=ab

然后输出  456ab789   


是么



不要不要的。。。
2015-08-15 15:04
露营地
Rank: 2
来 自:湛江
等 级:论坛游民
帖 子:150
专家分:23
注 册:2015-6-27
收藏
得分:0 
回复 8楼 ditg
更看不懂你的了

不要不要的。。。
2015-08-15 16:53
露营地
Rank: 2
来 自:湛江
等 级:论坛游民
帖 子:150
专家分:23
注 册:2015-6-27
收藏
得分:0 
回复 12楼 TonyDeng
看不懂啊   。。。。。

不要不要的。。。
2015-08-16 15:15
露营地
Rank: 2
来 自:湛江
等 级:论坛游民
帖 子:150
专家分:23
注 册:2015-6-27
收藏
得分:0 
回复 10楼 T_MACC
p在for那里不是指向s中的0了么   然后++p的话 不是有往后移了么   怎么说又指向9了呢    这里理解不了   拜托了哦   还有if(!t【i】)是什么意思啊??

不要不要的。。。
2015-08-16 15:41
露营地
Rank: 2
来 自:湛江
等 级:论坛游民
帖 子:150
专家分:23
注 册:2015-6-27
收藏
得分:0 
回复 12楼 TonyDeng
#include <stdio.h>
#include <string.h>
#include <conio.h>

int main(void)
{
    const char* s = "abc123ab12345ab67890";
    const char* t = "ab";
    const size_t len = strlen(t);
    const char* p = s;
   

   p = strstr(p, t)
   
    if (p != NULL)
    {
        puts(p + len);
    }

    puts("\nPress any key to continue...");
    _getch();
    return 0;
}


看懂了一些    我想问问 这样改可以吗   而且之前一开始我想实现的功能是 子字符串在 主字符串里最后一次出现的地址  而不是第一次出现的地址     还有strstr()这个函数就是实现  搜索一个字符串在另一个字符串中的第一次出现。找到所搜索的字符串,则该函数返回第一次匹配的字符串的地址;如果未找到所搜索的字符串,则返回NULL。       还不是很懂 所以小妹有些疑问 谢谢细心解答哈。。。。。

不要不要的。。。
2015-08-16 15:58
露营地
Rank: 2
来 自:湛江
等 级:论坛游民
帖 子:150
专家分:23
注 册:2015-6-27
收藏
得分:0 
回复 25楼 wmf2014
我看看  。。。。。

不要不要的。。。
2015-08-16 16:25
快速回复:这个程序看不懂 求高手解答
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.051357 second(s), 10 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved