带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++;
}