c语言如何求字符串长度

我的方法和楼上的大同小异用指针法:#include "stdio.h"
void main()
{char str[128];<br> char * p;<br> int count=0;<br> p=str;<br> gets(str);<br> while(*p++!='\0')<br> count++;<br> printf("%d",count);<br>}非指针法(这个方法是调用系统函数,比之自己写的函数简单明了):#include "stdio.h"
#include "string.h"
void main()
{char str[128];<br> gets(str);<br> printf("%d",strlen(str));<br> }

Ⅱ C语言 字符串长度

这个字符串长度为10个字符。

你可以用strlen("ab'1'\\\12803")来求这个字符串的长专度。
也可以用sizeof("ab'1'\\\12803")来求,但是这属个求出的结果是多了一个字符串结束符\0。

你可以试着输出这个字符串看看是不是10个字符。

实际上,这10个字符分别为:

1、a
2、b
3、'
4、1
5、'

6、\\(\\表示:前一个表示这是一个转义字符,后一个才是字符串中的真实字符)

7、\12(同上,\表示这是一个转义字符,其后面的1~3个数字位是一个八进制数,在这里,第3个数字为8,所以它不是这个八进制数的一部分,即这个八进制数应该是12,转换为10进制数即为10,对应的ASCII码为一个换行符)

8、8
9、0
10、3

注:\用来说明一个转义字符,如\\表示反斜杠字符“\”,\ddd表示1~3位八进制数所代表的字符(ASCII码),\xhh表示1~2位十六进制数所代表的字符。

Ⅲ C语言 关于输出字符串长度

strlen为求字符串长度,asd长度为三,\n为回车算一个,\x12为一个十六进制数算一个,\1代表八进制的1,算一个,\\第一个为\为转义字符,将第二个\转换为普通字符,所以它们也算一个。所以就是7个

Ⅳ c语言字符串长度的计算

可以做一个小的程序来实现,这样在你的程序中调用就可以的
我做了一个
你先看看
#include<stdio.h>
int
main()
{
char
a[]="hello
worldwerer
sdefe
drefefefef";
int
i,count=0;
for(i=0;a[i]!='\0';i++)
{
if(a[i]=='
')
{
printf("%d,",count);
count=0;
continue;
}
count++;
}
printf("%d",count);
getchar();
}

Ⅳ C语言字符串求长度问题

这两个答案肯定是不一样的!
strlen的含义是求字符串的长度,也就是串中的字符数,不包括最后的那,而sizeof的含义是求字符串所占的内存大小,自然要算上最后的那。
因此。。。
strlen
9
分别是0,\(\\,转义字符),1,2,5,回车,a,b,table(空白符)到第一个'\0'时就结束了
strlen
15
内存中是0,\(\\,转义字符),1,2,5,回车,a,b,table(空白符),'\0',a,0,0,'\0','\0'(最后一个是字符串结束的标志)。
有问题的话可以再和我交流。。。。

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

方法一:数组方式

代码如下:

&lt;span style="font-size:18px;"&gt;#include&lt;stdio.h&gt;

#include&lt;assert.h&gt;

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 ",my_strlen(arr));

getchar();

return 0;

}&lt;/span&gt;

运行结果:

方法二:指针方式

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

代码如下:

&lt;span style="font-size:18px;"&gt;#include&lt;stdio.h&gt;

int my_strlen(char const*str)

{

char const*tmp=str;

while(*str!='')

{

str++;

}

return str-tmp;

}

int main()

{

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

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

getchar();

return 0;

}&lt;/span&gt;

Ⅶ c语言怎样计算字符串长度

17个字符。一个空格算一个字符,其中\105算一个字符,打印出来就是“E”。
英文字符:13个
空格:3个
\105:1个
所以总共17个字符。

Ⅷ c语言求字符串长度

C语言中字符串长度的函数是strlen(),一个字符的长度为1;
函数原型:
unsigned int strlen (char *s);头文件:
#include <string.h>参数说明:s为指定的字符串;
功能说明:strlen()用来计算指定的字符串s 的长度,不包括结束字符'\0';
返回值:返回字符串s 的字符数;
注意:strlen() 函数计算的是字符串的实际长度,遇到第一个'\0'结束。
示例:
#include<stdio.h>#include<string.h>int main(){ char str[] = "ab\nxyz";//\n为回车字符,占一个字节 printf("strlen(str)=%d\n", strlen(str)); return 0;}//输出结果:strlen(str)=6 收起

Ⅸ c语言字符长度函数

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

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

第一个字符为:a

第二个字符为:b

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

第四个字符为:2

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

所以答案为5。

(下图为实际代码演示)

扩展内容:

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

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