c语言字符串长度算不算\0?谢谢。

如题所述

c语言字符串长度不算\0。

例如,“ABCD”的字符串长度为4,但是存储它的字符数组元素个数,应该>=5。

即至少是char s[5];

C语言编译器普遍存在于各种不同的操作系统中,例如Microsoft Windows, Mac OS X, Linux, Unix等。C语言的设计影响了众多后来的编程语言,例如C++、Objective-C、Java、C#等。


扩展资料

语言标准

起初,C语言没有官方标准。1978年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。布莱恩·柯林汉(Brian Kernighan) 和 丹尼斯·里奇(Dennis Ritchie) 出版了一本书,名叫《The C Programming Language》。

这本书被 C语言开发者们称为K&R,很多年来被当作 C语言的非正式的标准说明。人们称这个版本的 C语言为K&R C。

K&R C主要介绍了以下特色:

结构体(struct)类型

长整数(long int)类型

无符号整数(unsigned int)类型

运算符=+和=-改为+=和-=。因为=+和=-会使得编译器不知道使用者要处理i = -10还是i =- 10,使得处理上产生混淆。

即使在后来ANSI C标准被提出的许多年后,K&R C仍然是许多编译器的最 准要求,许多老旧的编译器仍然运行K&R C的标准。

1970到80年代,C语言被广泛应用,从大型主机到小型微机,也衍生了C语言的很多不同版本。

1983年,美国国家标准协会(ANSI)成立了一个委员会X3J11,来制定 C语言标准。 

1989年,美国国家标准协会(ANSI)通过了C语言标准,被称为ANSI X3.159-1989 "Programming Language C"。因为这个标准是1989年通过的,所以一般简称C89标准。有些人也简称ANSI C,因为这个标准是美国国家标准协会(ANSI)发布的。

1990年,国际标准化组织(ISO)和国际电工委员会(IEC)把C89标准定为C语言的国际标准,命名为ISO/IEC 9899:1990 - Programming languages -- C。

因为此标准是在1990年发布的,所以有些人把简称作C90标准。不过大多数人依然称之为C89标准,因为此标准与ANSI C89标准完全等同。

1994年,国际标准化组织(ISO)和国际电工委员会(IEC)发布了C89标准修订版,名叫ISO/IEC 9899:1990/Cor 1:1994,有些人简称为C94标准。

1995年,国际标准化组织(ISO)和国际电工委员会(IEC)再次发布了C89标准修订版,名叫ISO/IEC 9899:1990/Amd 1:1995 - C Integrity,有些人简称为C95标准。

参考资料来源:百度百科-c语言

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-07-04
c语言字符串长度不算\0。
例如,“ABCD”的字符串长度为4,但是存储它的字符数组元素个数,应该>=5。
即至少是char s[5];
第2个回答  2015-07-04
使用strlen函数是不计算'\0'的,他作为strlen函数停止的标识追答

比如strlen("asdfg")得到的结果就是5

第3个回答  推荐于2017-11-27
在定义时要多留一个\0符的位置,用strlen时不算追答

望采纳!

还有问题吗!

本回答被提问者采纳

\\0算字符串长度吗
"\\0"不算字符串长度。在C和C++等编程语言中,字符串以空字符('\\0')结尾,用于标识字符串的结束。这个空字符不计入字符串的实际长度。例如,字符串"hello"在内存中实际上是"hello\\0",但其长度被认为是5,而不是6。当我们谈论字符串长度时,我们指的是字符串中可见字符的数量,这些字符占用存储...

c语言字符串长度算不算\\0?谢谢。
c语言字符串长度不算\\0。例如,“ABCD”的字符串长度为4,但是存储它的字符数组元素个数,应该>=5。即至少是char s[5];C语言编译器普遍存在于各种不同的操作系统中,例如Microsoft Windows, Mac OS X, Linux, Unix等。C语言的设计影响了众多后来的编程语言,例如C++、Objective-C、Java、C#等。

c语言字符串长度算空格吗?
算。C语言字符串规定,字符串长度是指从字符串开始,到字符串结束符(\\0)为止,所有字符的总数,不包括\\0。这里的所有字符,同样包括不可见字符,自然包括空格。比如:字符串"for test"长度是8。

C语言中,字符串长度包含\/0么??
字符串占空间数包含\\0 但是字符串长度(用strlen计算)不包含\\0 比如"abcd"对其做strlen返回4 但是做sizeof计算则返回5

\\0算字符串长度吗
c语言字符串长度不算\\0。例如,“ABCD”的字符串长度为4,但是存储它的字符数组元素个数,应该>=5。即至少是chars[5];C语言编译器普遍存在于各种不同的操作系统中,例如MicrosoftWindows,MacOSX,Linux,Unix等。C语言的设计影响了众多后来的编程语言,例如C++、Objective-C、Java、C#等。

c语言中字符串数组的长度,什么时候将'\\0'算上,什么时候不用算上啊?
一般意义上字符串数组的长度是不包括'\\0'的。如char a[]=“China”;这个长度就等于5。其实在系统中a占了6个位置,最后一个放了一个'\\0'。但是你如果你写char a[]={'C','h','i','n','a'};这个长度也是5,但系统不会在最后放'\\0',所以它在系统中只占5个位置。应该说,这个a只能...

c语言 计算字符串长度
C语言的字符串是由字符数组形式保存的,并约定'\\0'(ascii码值为0)作为字符串结束符。其长度为从字符串开始,到'\\0'结束,所有字符的个数,不包括'\\0'本身。要获得字符串长度,有两种方法可以使用,使用库函数strlen()。strlen声明在string.h中,原型为int strlen(char *str);功能为求str的长度...

C语言里哪个函数计算字符串长度要算\/0,哪个有不用啊?
\\0是字符串结束符,仅占用存储空间,但不算作有效的字符,系统函数strlen(char s[]),仅返回'\\0'之前的字符个数。而关键字sizeof返回的是真个字符串包含'\\0'在内占用的字节数。请注意strlen是函数,而sizeof是C\/C++关键字。

c语言中字符数组中最后为什么必须为\\0?
C语言中没有字符串类型,字符串是存放在字符型数组中的。在C语言中,是将字符串作为字符数组来处理的。为了测定字符串的实际长度,C语言规定了一个“字符串结束标志”,以字符'\\0'作为结束标志 。例如:char a[8]={'i','l','o','v','e','y','o','u'};把8个字符依次分别赋给...

C语言里面有字符串常量的长度为1的吗?
字符串长度不为0。比如a[11]="abcdefghij",这个后面还有一个字符‘\\0’是不用输入,默认添加上了,因此这个必须占一位,因此字符串再定义时,至少要比字符数多一个,因此如果字符串的长度时1的话,就是一个‘\\0’字符,这个就没有什么意义了。如图所示,2个图,望采纳。。。

相似回答