首先这里引进一个新的头文件,那就是#include <string.h>,这里包含了很多有关字符串的函数。
创建一个字符串,并创建指针指向字符串:
char str1[] ="Hello";
char *p1 = "Hello";
char *p2="Hello";
这里字符串长度是5,字符数组长度是6 原因是\0也占空间、
获取字符串长度的函数:strlen()
printf("%d\n", strlen(str1));//5
printf("%d\n", strlen(p1));//5
printf("%d\n", strlen("how are you"));//11
仿真 strlen :
unsigned my_strlen(const char* str);
unsigned my_strlen(const char* str)
{
int i;
for (i = 0; str[i] != '\0'; i++)
{
;
}
return i;
}
测试:
printf("%d\n", my_strlen("how \0are you"));//4
printf("%d\n", my_strlen("how are you"+8));//3
完整代码:
#include <stdio.h>
#include <string.h>
unsigned my_strlen(const char* str);
int main ()
{
/* 如何得到字符串的长度 */
char str1[] ="Hello";//字符串长度是5,字符数组长度是6 原因是\0也占空间
char *p1 = "Hello";
char *p2="Hello";
printf("%d\n", strlen(str1));//5
printf("%d\n", strlen(p1));//5
printf("%d\n", strlen("how are you"));//11
printf("%d\n", my_strlen("how \0are you"));//4
printf("%d\n", my_strlen("how are you"+8));//3
/*仿真 strlen */
return 0;
}
unsigned my_strlen(const char* str)
{
int i;
for (i = 0; str[i] != '\0'; i++)
{
;
}
return i;
}