#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的下標
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.