sherwin002 发表于 2014-9-23 09:16:03

C标准库之字符(串)函数 __strpbrk

本帖最后由 sherwin002 于 2014-9-23 11:39 编辑

功能:

从string字符串中第一个是strCharSet中的字符开始输出字符串

函数原型:

char *strpbrk(const char *string,const char*strCharSet);

参数:
参数 说明
string 字符串
strCharSet 字符串

返回值:
string字符串中第一个是strCharSet中的字符的指针

要求:

函数需要的头文件
strpbrk<string.h>

举例
#include<stdio.h>
#include<string.h>

int main()
{
      char str[] = "Welcome to China",ss[] = "Hello",*p;
      p = strpbrk (str,ss);
      printf("%s",p);
      getchar();
      return 0;
}
结果:







鱼C侦探团

恋色天空 发表于 2014-9-23 11:05:11

看你的函数原型,形参是指向const char 类型的指针,也就是说不可以通过指针改变该引用的值

恋色天空 发表于 2014-9-23 11:11:44

你对这个函数的理解错了,
函数功能:比较字符串str1和str2中是否有相同的字符,如果有,则返回该字符在str1中的位置的指针。

sherwin002 发表于 2014-9-23 11:51:59

本帖最后由 sherwin002 于 2014-9-23 11:54 编辑

恋色天空 发表于 2014-9-23 11:11
你对这个函数的理解错了,
函数功能:比较字符串str1和str2中是否有相同的字符,如果有,则返回该字符在st ...
你这个说法也对,我觉的就是不同的表达意思吧,我这个是照书抄的,我看了下也行,就没在按照别的意思解释了。

还可以表达为:依次检验字符串str中的字符,当被检验字符在字符串strCharSet中也包含时,则停止检验,并返回该字符指针,否则返回NULL。你说呢?
感谢提意见,多提意见,大家一起进步。

sherwin002 发表于 2014-9-23 11:59:28

恋色天空 发表于 2014-9-23 11:05
看你的函数原型,形参是指向const char 类型的指针,也就是说不可以通过指针改变该引用的值

对啊。我是这么理解的。string不能改变,这里只是如果有一样的字符,则输出其内字符的指针而已,不是改变。

恋色天空 发表于 2014-9-23 12:33:07

sherwin002 发表于 2014-9-23 11:51
你这个说法也对,我觉的就是不同的表达意思吧,我这个是照书抄的,我看了下也行,就没在按照别的意思解释 ...

正解
页: [1]
查看完整版本: C标准库之字符(串)函数 __strpbrk