关于strlen这个函数的疑问

int strlen( char *p )
{
int i=0;
while ( *p!='\0')
{
i++;
p++;
}
return i;
}

这个是我定义的strlen, 但是不知道为什么strlen("asdf")也能计算出"asdf"的大小……
形参不是指针*么?
……
我没用cstring库
我自己写的strlen函数

strlen是系统本身的函数,意思就是字符串长度函数,当然可以计算出一个字符串的长度
温馨提示:内容为网友见解,仅供参考
无其他回答

在c语言中strlen是什么意思?
在C语言中,strlen是一个函数,用于计算字符串的长度。以下是关于strlen的 1. strlen函数的基本含义:strlen是“string length”的缩写,即字符串长度的意思。在C语言中,strlen是一个标准库函数,用于计算字符串的长度。它返回的是字符串中字符的数量,不包括字符串末尾的null字符。2. strlen...

关于c 中求字符串长度的函数strlen的小问题
在编程中,`strlen`是用于计算字符串长度的函数。该函数接受一个字符指针作为参数,并持续执行直到遇到空格或其他特定字符停止。例如,`strlen`在遇到数组c[2][3]中的元素时会返回3,因为数组中的元素数量为3。`sizeof`函数则是用来计算系统分配给数组的字节数量。这是两个不同的概念:`strlen`关注的...

c语言strlen函数问题
strlen实际上是,从参数表示的地址往后找,找到第一个'\\0',即串尾。然后计算'\\0'至首地址的“距离”,即隔了几个字符,从而得出长度。char x[]={0xBC,0xDD,0xCA};中,实际上是定义了一个char型的数组,而由于x[0],即0xBC开始往后找,一直到0xCA,都没'\\0',所以会继续往后。当然,实...

strlen()函数的问题
strlen是从“头”开始,找到第一个'\\0',当这个是尾,然后算这个头尾距离得出字符串长度。C里面,是没有汉字的。所谓的存储汉字,实际上是用了两个字符的位置,输出的时候在组合成一个汉字。在内存里面,是拆成了两个相邻的字符存储。算出是5的原因,应该是存储某一汉字时,其中一个字符恰好是'\\0...

关于strlen这个函数的疑问
strlen是系统本身的函数,意思就是字符串长度函数,当然可以计算出一个字符串的长度

strlen函数
strlen是C语言中的一个标准库函数,它的主要作用是计算字符串的长度。这个函数返回一个整数,表示从字符串的开始到结束字符之间的字符数量。需要注意的是,strlen函数返回的长度不包括结束字符'\\0'本身。2. 如何使用strlen函数:在使用strlen函数时,需要包含头文件。然后,可以直接对字符串调用strlen函数来...

关于strlen()函数的问题
字符串的最后一个是\\0; strlen就是从指定位置开始,过了多少个读到0,就是几。s+1 在这里是将s的位置往后面挪一个,起始位置往后了,自然少读一个就到0了。

关于strlen的一点疑问
0 和 '0' 不一样;1 和 '1' 不一样;。。。数值数组不应该用字符串的函数来处理。strlen 是处理字符串的。一旦遇到'\\0' 就认为字符串结束了。a[j] 里面是数值,大小为 0 ... (B-1), 完全可能出现一个0 的。int j=0;do{ a[j]=x%B + '0';x=x\/B;j++;}while(x>0);a[...

strlen函数
这个函数的基本形式是:int strlen(char *);它需要一个指向char类型的指针作为输入参数。例如,当我们想计算字符串"abc"的长度,它应该返回3。然而,这里需要澄清的是,如果这个字符串被存储在一个字符数组中,如char a[4]="abc",实际上数组占用的元素数是4,尽管我们通常看不到结尾的'\\0'字符。...

strlen()函数取字符串长度问题,匪夷所思~~~求高手指点
char b[]={'a'};只会为b分配一个char的空间,后面的内容是不可预知的,所以'\\0'可能会出现在后面的任何一个位置,而strlen()函数又是以'\\0'为标志来统计的。所以这样输出的数字无法预知。

相似回答
大家正在搜