00问答网
所有问题
关于字符串长度的问题: char str[]={'a','b','c','d'}; 用Turbo c得出长度为9; 长度不应该是4么?
如题所述
举报该问题
推荐答案 2012-04-29
本来应该是4,不过因为你的字符数组没有结束符号'\0',函数会越界直到第一个0 ascii码为止
追问
可以解释下为什么是9么
追答
越界后继续向后,直到第一个0,你的情况是你的程序正好后面6个字节处恰好是一个0,结果没有太多的意义,但是肯定大于4
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://00.wendadaohang.com/zd/ZD0nnerIe.html
其他回答
第1个回答 2012-04-29
这个字符数组中并没有保存字符串结束标志'\0',所以在用以字符串结束标志为准则的统计方法统计长度时(例如用strlen()函数),它并不一定会在统计完这四个字符后即时停止,而是一直统计下去,直到遇见字符串结束标志'\0'字符时为止,由于C语言不检查数组边界,所以用strlen()时,即使已经超出当前数组范围也不会停止,除非遇到'\0'字符。
相似回答
c
语言求
字符串长度
答:
C语言中
字符串长度的
函数是strlen(),一个
字符的
长度为1;函数原型:unsigned int strlen (
char
*s);头文件:include <string.h>参数说明:s为指定的字符串;功能说明:strlen()用来计算指定的字符串s 的长度,不包括结束字符'\0';返回值:返回字符串s 的字符数;注意:strlen() 函数计算的是字符...
C
语言 数组中
字符串
的
长度的
怎么计算的·~就是输入一个字符串怎么能快速...
答:
1、用strlen函数实现
char
str[
20];int len; // 保存数组的长度scanf("%s", str);len = strlen(str); // 计算字符数组str的长度注:需将头文件#include<string.h>添加进源文件中。2、用循环来实现 char str[20];int len=0; // 保存数组的长度scanf("%s", str);while(str[len...
有关
C
语言
字符串的问题
。
char
*
str[]
答:
char *
str[] = {
"hello","the","world"};相当于定义了一个指针数组,它的三个元素都是指针,分别指向三个常量
字符串:
"hello"、"the"、"world",常量字符串只允许读,无法写。比如
,char
*p="hello world",那么你就无法通过scanf("%s",p);把"hello world"变成其他字符内容 include<stdio....
c
语言
字符长度
函数
答:
正确的答案是5,题目选项有误。首先strlen()函数返回的长度是不包含'\0',第一个字符为
:a
第二个字符为:b 第三个字符为:\n (换行符)第四个字符为:2 第五个字符为:\ (\\转义为\)所以答案为5。(下图为实际代码演示)扩展内容:strlen()函数(C语言函数):strlen所作的仅仅是一个计数...
大家正在搜
用字符指针实现求字符串长度
用字符指针统计字符串长度
c语言char字符串长度
char字符串长度
char类型字符串长度
char指针字符串长度
字符串的长度怎么看
用指针求一个字符串的长度
c语言字符串数组长度怎么算
相关问题
char str[]="abcd"与char str[]={...
char str[]="abc"与char str[]={'...
char str[5]={'a','c','c'} char...
char a[]="abc";char b[4]={'a',...
char a[]={'h','a','b','c','d'}...
执行程序段char str[20]={'a','b','c'...
若有以下的数组定义:char str[]="abcd";ch...
C语言strlen问题,char a[] = {'a','b...