c语言编写字符长度函数 c++字符长度函数

c语言:编写一个函数求给定字符串长度?

方法一:数组方式

创新互联建站公司2013年成立,先为安福等服务建站,安福等地企业,进行企业商务咨询服务。为安福企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

代码如下:

lt;span style="font-size:18px;"gt;#includelt;stdio.hgt;

#includelt;assert.hgt;

int my_strlen(char const*str)

{

int count=0;

assert(str);//断言,判断指针的有效性

while(*str++!=NULL)

{

count++;

}

return count;

}

int main()

{

char arr[30]="trouble is a friend.";

printf("%d\n",my_strlen(arr));

getchar();

return 0;

}lt;/spangt;

运行结果:

方法二:指针方式

说明:当两个指针都指向同一个数组中的元素,指针减指针就是指针与指针之间元素的个数;两个地址相加没有实际意义。

代码如下:

lt;span style="font-size:18px;"gt;#includelt;stdio.hgt;

int my_strlen(char const*str)

{

char const*tmp=str;

while(*str!='\0')

{

str++;

}

return str-tmp;

}

int main()

{

char arr[30]="trouble is a friend.";

printf("%d\n",my_strlen(arr));

getchar();

return 0;

}lt;/spangt;

c语言字符长度函数

正确的答案是5,题目选项有误。

首先strlen()函数返回的长度是不包含'\0',

第一个字符为:a

第二个字符为:b

第三个字符为:\n (换行符)

第四个字符为:2

第五个字符为:\ (\\转义为\)

所以答案为5。

(下图为实际代码演示)

扩展内容:

strlen()函数(C语言函数):

strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回计数器值(长度不包含'\0')。

参考资料:strlen函数 - 百科

c语言编程 编写求字符串长度的函数int strlen(char*s),在主函数中调用该函数输出指定字符串的长度

思路:因为字符串都是以'\0'作为结束标志,所以可以从字符串的第一个位置开始遍历,直到出现'\0'停止遍历,并每次下标后移,字符串的长度加1,最后返回字符串长度。

参考代码:

#include "stdio.h" 

int strlen(char *s){//求字符串长度函数 

int n;

for(n=0;s[n]!='\0';n++);

return n;

int main() {

char a[100];

gets(a); 

printf("%d\n",strlen(a));

return 0;

}

/*

运行结果:

wqerqew

*/

c语言,用函数计算字符串长度

getchar()函数的原型是 int getchar( void )

返回值是整型的

功能是:从标准输入中读取一个字符,也就是键盘敲击字符,只接收单个字符

可以用gets()函数来接收多个字符

这里的 s 接收的是该字符的ASCII码,非长度。

如果从原基础上改可以这样

int i;

char s[20]; /*字符串需要长度*/

gets( s );

i = num( s );

int num( char *s ) /* 这里的指针 ,后面学得到*/

{

}

套上去就可以了


网站标题:c语言编写字符长度函数 c++字符长度函数
转载源于:http://myzitong.com/article/hgichh.html