带strpbrk的c语言中的字符和字符串

带strpbrk的c语言中的字符和字符串,c,string,C,String,鉴于以下情况: char delimiters1[] = {' ' , '&' , '<' , '>'}; char delimiters2[] = " &<>"; char delimiters1[]={'','&','}; 字符分隔符2[]=“&”; 如果我将C函数strpbrk与delimiters1和delimiters2一起使用,结果会是一样的吗 我已经用大约20个输入测试了它们,我得到了两个相同的输出 我错了吗 谢谢 char del

鉴于以下情况:

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


char delimiters2[] =  " &<>";
char delimiters1[]={'','&','};
字符分隔符2[]=“&”;
如果我将
C
函数
strpbrk
delimiters1
delimiters2
一起使用,结果会是一样的吗

我已经用大约20个输入测试了它们,我得到了两个相同的输出

我错了吗

谢谢

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

其中c是指向字符集的指针。您可以清楚地看到,在某些情况下,
*c
应该为空,程序才能正常工作。

您是否尝试使用不包含集合中任何字符的字符串
delimiters1
delimiters2
是不一样的,你可以很容易地看出,如果你这样做的话,例如
sizeof
。delimiters1需要'\0'结束元素好的,很公平,但是:
0
还是
\0
0
'\0'
,没关系。0或“\0”都可以。这不是@JoachimPileborg和BLUEPIXY之前指出的吗?有人谈论过你的技能吗?我想尽量礼貌一点,也许我只是习惯于让人更冷静。不要告诉我你对许多答案都是别人评论的延伸版本感到惊讶。也就是说…这只是礼节。
char delimiters1[] = {' ' , '&' , '<' , '>', 0};
  while (*s1)
    {
      for (c = s2; *c; c++)
    {
      if (*s1 == *c)
        break;
    }
      if (*c)
    break;
      s1++;
    }