繁体   English   中英

带有strpbrk的c中的字符和字符串

[英]Characters and Strings in c with strpbrk

鉴于以下内容:

char delimiters1[] = {' ' , '&' , '<' , '>'};


char delimiters2[] =  " &<>";

如果我使用带有delimiters1delimiters2C函数strpbrk ,结果会是一样的吗?

我用20个输入测试了它们,我得到了两个相同的输出。

我错了吗 ?

谢谢 。

char delimiters1[] = {' ' , '&' , '<' , '>'};

应该:

char delimiters1[] = {' ' , '&' , '<' , '>', 0};

它可能会工作几次。 但刺痛应该是空终止的。 否则,strpbrk将如何知道要搜索的字符的结尾?

这是strbrk()的片段:

  while (*s1)
    {
      for (c = s2; *c; c++)
    {
      if (*s1 == *c)
        break;
    }
      if (*c)
    break;
      s1++;
    }

其中c是指向char-set的指针。 您可以清楚地看到,在某些时候, *c应为null,以使程序正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM