strchr

#include <string.h>
#include <stdio.h>
int main(void)
{
char string[15];
char *ptr, c = 'r';
strcpy(string, "This is a string");
ptr = strchr(string, c);
if (ptr)
printf("The character %c is at position: %d", c, ptr-string);
else
printf("The character was not foundn");
return 0;
}
结果怎样来啊.请大虾帮帮小弟.

char *strchr(const char *string, int c)
函数就是在字符串中搜索指定字符。第一个形参就是要搜索的字符串,第二个是被搜索的字符。
如果找到了该字符就返回该字符第一次出现的内存地址。如果没有找到就返回NULL(也就是0)。
你的这个程序里面就是在This is a string里面找r,返回的是r的出现的地址。因为一个字符占一个字节,用ptr-string就是用求出ptr相对于string的偏移量,也就是r是第几个字符。

有一点建议:string是C++里面的一个类,最好不要用与类同名的变量,否则容易混淆

你可能感兴趣的:(tr)