不太确定是书上写错了还是网上的说法不对
书上说strchr函数如果s字符串包含字符c,则返回指向s首位置的指针
而网上说将返回字符c的位置
书上说strpbrk函数如果s1字符串如果包含s2中任意字符,则返回指向s1首位置的指针,否则返回空字符
而网上说strpbrk函数如果s1字符串如果包含s2中任意字符,则返回指向第一个相同字符的指针,否则返回null指针
请问哪个说法是对的?
谢谢
不太确定是书上写错了还是网上的说法不对
书上说strchr函数如果s字符串包含字符c,则返回指向s首位置的指针
而网上说将返回字符c的位置
书上说strpbrk函数如果s1字符串如果包含s2中任意字符,则返回指向s1首位置的指针,否则返回空字符
而网上说strpbrk函数如果s1字符串如果包含s2中任意字符,则返回指向第一个相同字符的指针,否则返回null指针
请问哪个说法是对的?
谢谢
我跟你讲 遇到这种问题 你自己动手实践才是最重要的 代码敲一敲 看下输出不就什么都知道了吗 给你个测试程序。
#include <stdio.h>
#include <string.h>
int main()
{
char *s = "hello world";
char *s1 = "first";
char *s2 = "second";
char *s3 = "thrid";
char c = 'l';
printf("s字符串为 %s\n",s);
printf("c字符为 %c\n",c);
printf("s的首地址是 %d\n",s);
printf("strchr 包含返回%d\n",strchr(s,c));
printf("s1字符串为 %s\n",s1);
printf("s2字符串为 %s\n",s2);
printf("s3字符串为 %s\n",s3);
printf("strpbrk s1包含s3中的字符 返回%d\n",strpbrk(s1,s3));
printf("s1的首地址是 %d\n",s1);
}
顺便把输出结果也给你把, 你自己理解下
s字符串为 hello world
c字符为 l
s的首地址是 67100
strchr 包含返回67102
s1字符串为 first
s2字符串为 second
s3字符串为 thrid
strpbrk s1包含s3中的字符 返回67113
s1的首地址是 67112