在线工具 在线编程 在线白板 在线工具 在线编程 在线白板

C语言中strlen函数是怎么计数的?

高分请说下,C语言中strlen函数是怎么计数的?
最新回答
差不多先森丶

2024-09-10 13:08:16

  1.   char str[]="\tab\n\012\\\""

    字符1: \t 转义字符:水平制表符 ,其ASCII 值9(十进制)

    字符2、3:ab

    字符4:\n 转义字符,换行符,其ASCII 值10(十进制)

    字符5:\012 转义字符,其中012是8进制数,其ASCII值 同\n.

    字符6:\\ 转义字符 反斜杠\,其ASCII值 92(十进制)

    字符7:\" 转义字符 双引号",其ASCII值 34(十进制)

2.  printf("%d \n", strlen("IBM\n012\1\\"));

      字符1、2、3: IBM 

      字符4:\n 转义字符

      字符5、6、7:012

      字符8:\1 其ASCII值 1(8进制).

      字符9:\\ 转义字符 反斜杠\,其ASCII值 92(十进制)

3. printf("%d \n",strlen("\t\"\065\xff\n"));

       字符1: \t 转义字符:水平制表符 ,其ASCII 值9(十进制)

      字符2:\" 转义字符 双引号",其ASCII值 34(十进制)

      字符3:\065 ,代表字符5,其中065为8进制 格式,其ASCII为53(十进制)

       字符4:\xff (这个我不知道怎么解释,请其它老师帮助解释)

       字符5:\n 

4.   printf("%d \n",strlen("stop\0\n\""));

      

       字符1、2、3、4:stop

       因为strlen()函数遇到\0 就结束了,后面的字符就不去判断了。

       C语言中的字符串 是用\0作为 结束符。

希望我的解答 对你有所帮助,很高兴和你一起讨论和学习C语言。

四月的杨柳

2024-09-10 06:34:48

C里有
转义符
,比如象\\(表示\符号本身),\"(表示"本身)、\t(跳格符),\n(换行),还有\ddd(
8进制
表示) 以及\xdd(
16进制
字符),这些都视为单个字符,所以象你第一题就是
\t
a
b
\n
\012
\\
\"
一共这7个字符,后面的都是一样的,另外 strlen是计算\0之前的字符长度,所以象第4题\0前有4个字符,那长度就是4
沿途有你

2024-09-10 10:41:53

统计字符串长度的函数,返回一个是指定整形数字,
从开头数数,多少个字符就返回对应的数值,
常用在计算字符串长度,字符数组的个数,指针字符串的长度等!
云起兮衣飞扬

2024-09-10 06:33:52

从开始数,直到遇到字符'\0','\0'之前有几个字符,就返回几