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语言
‘\0'是字符数组里的结束标志,库中的strcpy在复制完字符串时给你加上了'\0'结束符,所以不须要你再添加。而如果是你对字符数组操作时就要加,比如你把A串的字符复制给B,B[i++] = A[j++];复制完最后一个时你就要加上'\0'。B[i]=0;/B[i] = '\0';
字符串的长度是不包括'\0'的常见需要计算'\0'的情况是,以字符数组初始化一个字符串的时候,分配内存空间的情况。
char str[]="123456";
这时候数组str的大小需要计算'\0',也就是str有7个元素
标准库的函数是不算结束符的,他们认为遇到结束符字符串就结束了,也就是算长度是从第一个字符到第一个结束符之间的字符个数
直接计算:
char a[2000];
int n;
gets(a);
n=strlen(a)//前面加上#include "string.h"
另一种是用循环计算:
for(int i=0,n=0;a[i]!='\0';i++)//直到结束标志,
n++;
字符串长度怎么算
C语言的字符串是由字符数组形式保存的,并约定'\\0'(ascii码值为0)作为字符串结束符。strlen计算的是字符串的长度,单位是“字符”,只能对字符串运算,而且它是函数(不是运算符),计算时,不包含末尾的"\\0";当对字符数组操作时,返回的是数组总存放的字符串的实际长度(也就是\\0之前的),也...
c语言中求字符串长度
长度为7 自己可以检验下 include <stdio.h> include <string.h> void main(){ int len = 0;char *p = "abc\\128\\xa9M";len = strlen(p);printf("%d\\n",len);}
C语言 数组中字符串的长度的怎么计算的·~就是输入一个字符串怎么能快速...
在C语言中,可以通过库函数strlen来计算字符串的长度,也可以通过循环计数来求取字符串长度。函数原型:unsigned int strlen(char *str);功 能:统计字符串str中字符的个数,不包含'\\0'返 回 值:返回字符个数 具体实现方法可以参考如下程序段:1、用strlen函数实现 char str[20];int len; ...
python中len()的用法
计算字符串的长度。计算列表的元素个数。计算字典的总长度,即键值对总数。计算元组元素个数。在Python中,要知道一个字符串有多少个字符,以获得字符串的长度,或者一个字符串需要多少字节,可以使用len函数。Python的创始人为荷兰人吉多·范罗苏姆(Guidovan Rossum)。1989年圣诞节期间,在阿姆斯特丹,...
C语言中测试字符串长度的函数
C语言中测试字符串长度的函数是strlen()函数原型:unsigned int strlen (char *s);头文件:include <string.h>参数说明:s为指定的字符串;功能说明:strlen()用来计算指定的字符串s 的长度,不包括结束字符'\\0';返回值:返回字符串s 的字符数;注意:strlen() 函数计算的是字符串的实际长度,遇到...
c语言中如何获得字符串的长度?
解题思路:声明一个大于或等于80长度的字符数组,例如char a[100]。使用gets()函数输入字符串,该字符串以回车符作为结束标记。获得字符串的长度,以该长度值-1作为起点,以0作为终点,循环输出字符。注意:获得字符串长度可以用<string.h>库的strlen()函数,该函数返回字符串的实际长度,其中不包含空...
c语言字符长度函数
第一个字符为:a 第二个字符为:b 第三个字符为:\\n (换行符)第四个字符为:2 第五个字符为:\\ (\\\\转义为\\)所以答案为5。(下图为实际代码演示)扩展内容:strlen()函数(C语言函数):strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某...
C语言中如何判断字符长度???
使用string库函数里的strlen函数即可判断字符长度。strlen函数可以计算给定字符串的长度,返回值为长度值。例如计算字符串“helloworld2017”的长度的代码:include<stdio.h>#include<string.h>int main(){ int i;i = strlen("helloworld2017");printf("%d",i);}运行结果如下:...
C语言:写一个函数,求一个字符串的长度.在main函数中输入字符串并输出其...
include <stdio.h>\/\/ 计算字符串str长度,并返回int lenstr(const char* str){ int i = -1; while (str[++i]); \/\/ while循环在 str[++i] 为 '\\0' 时结束 return i;}int main(){ char p[1000]; printf("input a string:"); gets(p); printf("string len...
C语言 字符串长度计算
字符串的长度为14,分别是 \\t \/\/转义字符,制表符,相当于tab键 \\" \/\/双引号 N a m e \\A \/\/有\\和没\\是一样的 d d r e s s \\n \/\/换行符
司马邱艾可: 加头文件 string.h 代码如下:1 2charstr[] = "Hello World!"; intlen = strlen(str);
集安市17321346259: 如何在c语言中计算字符串长度 - ?
司马邱艾可: C语言的字符串是由字符数组形式保存的,并约定'\0'(ascii码值为0)作为字符串结束符.其长度为从字符串开始,到'\0'结束,所有字符的个数,不包括'\0'本身. 要获得字符串长度,有两种方法可以使用,使用库函数strlen().strlen声明在string.h中,原型为int strlen(char *str);功能为求str的长度,并返回.对于字符串str, 可以用代码求长度.当str[len]为0时,退出循环,退出后的len值就是str的长度.拓展资料:使用strlen函数,包含在头文件string.h里,功能就是计算字符串s的(unsigned int型)不包括'\0'在内的长度.
集安市17321346259: 如何在c语言中计算字符串长度 - ?
司马邱艾可: C语言计算字符串长度,可以手动计算也可以使用库函数或者sizeof()操作符.方法: 1. 自定义函数求长度 2. 使用strlen()函数 3. 使用sizeof()操作符 自定义函数: int cont_str(char *s) { int i = 0; while ( str[i++] != '\0') ; return i; } 使用...
集安市17321346259: c语言 计算字符串长度 - ?
司马邱艾可: 使用strlen函数,包含在头文件string.h里,功能就是计算字符串s的(unsigned int型)不包括'\0'在内的长度,我不敢贴代码,你自己百度下.我一贴百度就抽了,屏蔽我的回答!
集安市17321346259: c语言中,计算字符串长度的程序? - ?
司马邱艾可: 函数是 strlen 要包含 头文件 string.h 使用方法 int nLen; char str[]="hello world!"; nLen = strlen(str); nLen 就是字符串str的长度啦
集安市17321346259: C语言 数组中字符串的长度的怎么计算的·~就是输入一个字符串怎么能快速的知道他的长度·· - ?
司马邱艾可: 在C语言中,可以通过库函数strlen来计算字符串的长度,也可以通过循环计数来求取字符串长度. 函数原型:unsigned int strlen(char *str); 功 能:统计字符串str中字符的个数,不包含'\0' 返 回 值:返回字符个数 具体实现方法可以参考如下...
集安市17321346259: C语言在计算字符串长度中\018的长度是多少呢? - ?
司马邱艾可: 在字符串以\0开头,后面跟(至多三个)数字,一般来说是表示一个八进制.但是如果遇到八进制之外的,那么就停止运算,其他的就不算到这个八进制里面了. 比如\017中0后面跟着17 都是属于八进制的数,所以就是相当于ascii码是15(也就是八进制的017)的字符,所以长度就是1了 另外\018就不同了,先遇到1,然后继续发现下一个就是8 不属于八进制的东西,八进制的“解析”就结束了 所以相当于ascii码的1和数字8两个字符组成的子串,所以长度就是2纯手打 打字不易 谢谢采纳
集安市17321346259: 在c语言中怎么判断一输入的串字符的长度,最好给我编个完整的程序,谢谢! - ?
司马邱艾可: #include <stdio.h> #include <stdlib.h>int main() {char s[1000];int i; gets(s); //读入字符串 i = -1;while(s[++i] != '\0') //计算字符串长度; printf("%d\n",i); //输出长度 return 0; }//请采纳.
集安市17321346259: C语言程序求字符串长度 - ?
司马邱艾可: 头文件string.h函数是strlen 如果想要自己实现也很简单 int i = 0, l = 0; while(a[i] != '\0') {l++; } 这样l的值就是字符串的长度
集安市17321346259: c语言计算字符串的长度(用指针) - ?
司马邱艾可: #include<cstdio> int main() { char s[20]; char*p; printf("please input a string(less than 20 character):\n"); //scanf("%s",s);不能读入空格 gets(s); p=s; while(*p!='\0') p++; printf("The string lenth is%d\n",p-s); return 0; } printf()函数的调用格...