字符串的长度

1. 字符串的长度就是字符串所包含字符的个数

2. C语言中的字符串长度指的是第一个’\0’字符前出现的字符个数

3. C语言中通过’\0’结束符来确定字符串的长度

*************************************************************************

//strlen函数的实现

size_t strlen(const char* s)

{

size_t length = 0;

assert(s);

while(*s++)

{

length++;

}

reurtn length;

}

**********************************************************************

警告:

char* a = "123";

char* b = "1234";

if( strlen(a) >= strlen(b))

{

//... ...

}

if( strlen(a) - strlen(b) >= 0)

{

//... ...

}

strlen的返回值是用无符号数定义的,因此
相减不可能产生负数,以上的语句不等价。

***********************************************************************

***********************************************************************

使用一条语句实现strlen

#include <stdio.h>
#include <assert.h>


size_t strlen(const char* s)
{
return (assert(s),(*s ? (strlen(*s + 1)+1) : 0));
}


int main()
{

printf("%d\n",strlen("123456"));
return 0;
}


***********************************************************************

/*字符数组和字符串长度的区别*/

#include <stdio.h>
#include <string.h>


char g[100];


int main()
{
g[0] = 'H';
g[1] = 'e';
g[2] = 'l';
g[3] = 'l';
g[4] = 'o';
g[5] = '\0';
g[6] = 'H';
g[7] = 'e';
g[8] = 'l';
g[9] = 'l';
g[10] = 'o';

printf("length = %d\n",strlen(g));//字符串 
printf("size = %d\n", sizeof(g));//字符数组 

return 0;
}

编译结果:




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值