头文件:#include <string.h>
strchr() 用来查找某字符在字符串中首次出现的位置,其一般形式型为:
strchr(str,c)
【参数】str 为要查找的字符串,c 为要查找的字符。
strchr() 将会找出 str 字符串中第一次出现的字符 c 的地址,然后将该地址返回。
注意:字符串 str 的结束标志 NULL 也会被纳入检索范围,所以 str 的组后一个字符也可以被定位。
【返回值】如果找到指定的字符则返回该字符所在地址,否则返回 NULL。
返回的地址是字符串在内存中随机分配的地址再加上你所搜索的字符在字符串位置。设字符在字符串中首次出现的位置为 i,那么返回的地址可以理解为 str + i。
提示:如果希望查找某字符在字符串中最后一次出现的位置,可以使用 strrchr() 函数。
#include <stdio.h> #include <string.h> int main() { char *s="1234567890qwertyuiop"; char *p; p=strchr(s,‘q‘); printf("%p\n",s); printf("--------\n"); printf("%p\n",p); printf("\n"); return 0; }
结果为:00422FD4
-----------
00422FDE
字符q是字符串第11个元素,底下地址减去上面地址等于10,因为printf("%p\n",s);地址代表的是字符串首元素1地址,字符q恰好是字符串第11个元素,所以就可以验证上面返回的地址。
本文出自 “Pzd流川枫” 博客,请务必保留此出处http://xujiafan.blog.51cto.com/10778767/1710190
原文地址:http://xujiafan.blog.51cto.com/10778767/1710190