#include<stdio.h>
#include<string.h>
/* 功能:计算字符c第一次出现在字符数组src的下标
* example: strcgap("abc", 'c') 返回2
* 参数:src,源字符串;c,字符;
* 返回值:若c在src中返回字符c第一次出现在字符数组src的下标,范围:[0,strlen(src)-1]
* 失败返回-1。
*/
int strcindex(const char *src, char c)
{
const char *p;
int pos, len;
if( NULL == src )
{
return -1;
}
p = src;
pos = 0;
len = strlen(src);
while( c != *p && *p && len != 0 ) {
pos++;
p++;
len--;
}
if(len <= 0) //没有此字符
pos = -1;
return pos;
}
int main()
{
char s[100]={0};
printf("strcindex(\"123456789\", '1'):%d\n", strcindex("123456789", '1'));
printf("strcindex(\"12345556789\", '5'):%d\n", strcindex("12345556789", '5'));
printf("strcindex(\"123456789\", '9'):%d\n", strcindex("123456789", '9'));
printf("strcindex(\"123456789\", 'a'):%d\n", strcindex("123456789", 'a'));
printf("strcindex(\"123456789\", '\\0'):%d\n", strcindex("123456789", '\0'));
printf("\n");
strcpy(s, "123456789");
printf("strchr(s, '1')-s:%d\n", strchr(s, '1')-s);
printf("strchr(s, '5')-s:%d\n", strchr(s, '5')-s);
printf("strchr(s, '9')-s:%d\n", strchr(s, '9')-s);
printf("strchr(s, 'a')-s:%d\n", strchr(s, 'a')-s);
return 0;
}
计算字符c第一次出现在字符数组src的下标
最新推荐文章于 2019-10-25 10:29:11 发布