例题:
不使用字符串处理函数strlen(),编程实现字符串处理函数strlen()的功能。
自定义一个函数命名为Mystrlen()。
方法一、不使用指针计算字符的个数,编写的程序如下:
#include<stdio.h>
int Mystrlen(char str[]);
int main()
{
char a[100];
unsigned int len ;
printf("Please enter a string:");//输入字符串
gets(a);
len=Mystrlen(a);//计算字符串中的实际字符的个数
printf("The length is:%u",len);//输出字符串长度
}
unsigned int Mystrlen(char str[])
{
int i;
unsigned int len =0;//计数器值为0
for(i=0;str[i]!='\0';i++)
{
len++;//循环统计但不包括'\0'在内的字符个数
}
return len ;//返回字符串中的实际字符的个数
}
方法二、用字符指针实现函数Mystrlen(),编写的程序如下:
#include<stdio.h>
int Mystrlen(char str[]);
int main()
{
char a[100];
unsigned int len ;
printf("Please enter a string:");//输入字符串
gets(a);
len=Mystrlen(a);//计算字符串中的实际字符的个数
printf("The length is:%u",len);//输出字符串长度
}
unsigned int Mystrlen(const char *pstr)
{
unsigned int len =0;//计数值为0
for(;*pstr!='\0';pstr++)
{
len++;//循环统计但不包括'\0'在内的字符个数
}
return len ;//返回字符串中的实际字符的个数
}