计算字符串长度函数strlen:
int mystrlen(char *s)
{int count = 0;char *p = s;if (!p){return count;}while (*p != '\0'){count++;p++;}return count;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
字符串连接函数strcat:
int mystrcat(char str1[], char str2[])
{if (!str1 || !str2){return;}int i = 0;while (str1[i] != '\0'){i++;}int j = 0;while (str2[j] != '\0'){str1[i++] = str2[j++];}str1[i] = '\0';
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
字符串拷贝函数strcpy:
int mystrcpy(char str1[], char str2[])
{int i = 0;if (!str1 && !str2){return;}while (str2[i] != '\0'){str1[i++] = str2[i];}str1[i] = '\0';
}
字符串比较函数strcmp:
int mycmp(char str1[], char str2[])
{int i = 0;while ((str1[i] == str2[i]) && str1[i] != '\0'){i++;}return str1[i]-str2[i];
}
另一种字符串比较方法,输出-1,0,1来达到比较效果:
int mycmp(char *str1, char *str2)
{for (; *str1 != '\0';){if (*str1 > *str2){return 1;}else if (*str1 < *str2){return -1;}else{return 0;}str1++;str2++;}
}