字符串长度函数如何计算?从开始到第一个\0
5个回答
展开全部
作者你好!
首先要分清楚:字符数组和字符串的关系!
字符串存放在数组中,因此,一个字符数组可以存放几个串,单字符串函数只认字符串结束标志'\0';
1.
strlen(wer
wer):字符串为"wer_wer"这种字符串常量,系统会在其后自动补上'\0';而求字符串长度的函数strlen()只要遇见'\0';就返回函数值!而且'\0'不算在其中!故返回值为7(空格也算一个字符!)
2.
strlen(wer\0wer)
其中的字符串为"wer\0wer"而strlen函数遇到'\0'即结束,故返回值为:3
3.
'\0'不是空格,也不是回车!通过ASCII码表,你可知道,'\0'是ASCII码值代表0(NULL);而空格的ASCII码为:
'\32'
32
回车的ASCII码值为'\13'
13
希望对你有所帮助!!!!
=============================================================Mr_Compuerr
首先要分清楚:字符数组和字符串的关系!
字符串存放在数组中,因此,一个字符数组可以存放几个串,单字符串函数只认字符串结束标志'\0';
1.
strlen(wer
wer):字符串为"wer_wer"这种字符串常量,系统会在其后自动补上'\0';而求字符串长度的函数strlen()只要遇见'\0';就返回函数值!而且'\0'不算在其中!故返回值为7(空格也算一个字符!)
2.
strlen(wer\0wer)
其中的字符串为"wer\0wer"而strlen函数遇到'\0'即结束,故返回值为:3
3.
'\0'不是空格,也不是回车!通过ASCII码表,你可知道,'\0'是ASCII码值代表0(NULL);而空格的ASCII码为:
'\32'
32
回车的ASCII码值为'\13'
13
希望对你有所帮助!!!!
=============================================================Mr_Compuerr
展开全部
首先要分清楚:字符数组和字符串的关系。
字符串存放在数组中,因此,一个字符数组可以存放几个串,单字符串函数只认字符串结束标志'\0'。
1.
strlen(wer
wer):字符串为"wer_wer"这种字符串常量,系统会在其后自动补上'\0';而求字符串长度的函数strlen()只要遇见'\0';就返回函数值!而且'\0'不算在其中!故返回值为7(空格也算一个字符!)
2.
strlen(wer\0wer)
其中的字符串为"wer\0wer"而strlen函数遇到'\0'即结束,故返回值为:3
3.
'\0'不是空格,也不是回车!通过ASCII码表,你可知道,'\0'是ASCII码值代表0(NULL);而空格的ASCII码为:
'\32'
32
回车的ASCII码值为'\13'
13
字符串存放在数组中,因此,一个字符数组可以存放几个串,单字符串函数只认字符串结束标志'\0'。
1.
strlen(wer
wer):字符串为"wer_wer"这种字符串常量,系统会在其后自动补上'\0';而求字符串长度的函数strlen()只要遇见'\0';就返回函数值!而且'\0'不算在其中!故返回值为7(空格也算一个字符!)
2.
strlen(wer\0wer)
其中的字符串为"wer\0wer"而strlen函数遇到'\0'即结束,故返回值为:3
3.
'\0'不是空格,也不是回车!通过ASCII码表,你可知道,'\0'是ASCII码值代表0(NULL);而空格的ASCII码为:
'\32'
32
回车的ASCII码值为'\13'
13
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
空格和\0不一样哦,在ASCII码表中,\0对应的十进制数为0,而空格对应的十进制数为32,strlen计算字符串长度时,在遇到第一个\0后停止计数,并且记数不包括\0。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该写成:strlen("wer
wer");和strlen("wer\0wer");
\0表示字符串结束,strlen遇到它就会停止计数
在程序常量区这两个字符串存储的内容是
'w','e','r','
','w','e','r','\0'和'w','e','r','\0','w','e','r','\0'
wer");和strlen("wer\0wer");
\0表示字符串结束,strlen遇到它就会停止计数
在程序常量区这两个字符串存储的内容是
'w','e','r','
','w','e','r','\0'和'w','e','r','\0','w','e','r','\0'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
'\0'是字符串结束符号
"wer
wer"在内存中实际是"wer
wer\0"
所以第二个字符串只计算了"wer\0"的长度3
"wer
wer"在内存中实际是"wer
wer\0"
所以第二个字符串只计算了"wer\0"的长度3
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询