c语言char可以存多少个字符

char st[5];

printf("input string:\n");
scanf("%s",st);
printf("%s\n",st);
st为15的时候可以输入14个字母因为左后有个\0
可是当把st[15]改为st[5]的时候输入13个字母才报错这是为什么啊?
高手帮帮忙 谢谢啦

C语言中,char是一个字符类型的关键字。

如果利用char定义一个变量,那么只能存放一个字符;

如果利用char定义一个数组或字符指针,那么存放的字符个数根据用户分配的内存空间来定。

扩展资料:

char用法实例:

用 char 类型来专门表示一个字符,例如:

char a='1';

char b='$';

char c='X';

char d=' '; // 空格也是一个字符

char e='\63'; //也可以使用转义字符的形式

char 称为字符类型,只能用单引号' '来包围,不能用双引号" "包围。而字符串只能用双引号" "包围,不能用单引号' '包围。

输出字符使用 %c,输出字符串使用 %s。

参考资料来源:百度百科-char (计算机语言关键字)

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-06-06

C语言中,char是一个字符类型的关键字。

如果利用char定义一个变量,那么只能存放一个字符;

如果利用char定义一个数组或字符指针,那么存放的字符个数根据用户分配的内存空间来定。


举例说明如下:

char ch='a';   // 存放一个字符
char ch="ab";  // 只接收第一个字符,字符'b'被舍去
char a[] = "adfsdf";  // 存放7个字符(包含一个结束字符'\0')
char *p = "adfsdf";   // 存放7个字符(包含一个结束字符'\0')
char b[20];  // 最多可以存放20个字符
char *p = (char *)malloc(20); // 最多可以存放20个字符

第2个回答  2012-08-24
内存溢出了。 容纳不了那么多,
char st[5];

说明st-》5个字节的空间合法。 之后的空间是不合法的。往里面强行写 那就出问题了。追问

可我写小于13个字母就不报错

追答

不报错 也不说明 无问题。 注意思维方式。

追问

我知道这也超出写是错的。可他为什么不报错

追答

这个原因很复杂。我建议你学完c语言再学汇编语言。这个问题就解决了

本回答被提问者和网友采纳
第3个回答  2012-08-24
访问了 禁止访问的地址
第4个回答  2012-08-24
超出数组范围即越界了,结果是无法预料的。就好像放任一辆汽车开,他会开出马路,但结果是立马翻车还是撞死人还是撞树上或者开河里,就不知道了。

char在c语言占几个字节?
char类型在C或C++中占1个字节,在java中占2个字节。char用于C或C++中是定义字符型变量的,而char数据类型是一种整数类型,只会占据1个字节。而在java中char类型占2个字节是因为Java编译器默认使用Unicode编码,因此2字节(16位)可以表示所有字符。char类型在C或C++中占1个字节,在java中占2个字节。...

char的范围是什么?
char是C语言中的一种基本数据类型,用于表示字符。它占用一个字节(8位),可以存储ASCII码对应的字符。二、char类型的取值范围 char类型可以取-128到127之间的整数值,包括负数和正数。这个范围是由char类型的编码方式决定的,常见的编码方式有ASCII码和Unicode码。1、ASCII码:ASCII码是一种字符编码标准...

一个char几个字节
在C语言中,一个char类型通常占用1个字节(8位)。char类型用来表示字符或小整数值,其范围可以是-128到127或0到255,具体取决于是有符号型还是无符号型。在不同的编程语言和平台上,char类型的大小可能有所不同。虽然大多数情况下char类型占用1个字节,但有些特殊情况下也可能占用其他大小的字节。如...

C语言字符型char的数据存储是多少?
在 C 语言中,字符类型 char 占用一个字节(8 位二进制位),即 sizeof(char) 等于 1。这是因为在 ASCII 码表中,每个字符都被编码成了一个 8 位的二进制数,范围为 0~255。因此,使用 char 类型来存储表示单个字符的 ASCII 码值非常方便和高效。需要注意的是,在一些特殊的编码方式下,字符...

c语言 char占几个字节??
C语言中的char数据类型占据一个字节的存储空间。它被设计用于表示单个字符,其取值范围限定为-128到+127(即-2的7次方到2的7次方减1)。值得注意的是,尽管char在C语言标准中并未明确指定为有符号或无符号类型,编译器可以根据需要将其编译为带符号或无符号,但通常默认为有符号。char的主要特点是其...

c语言char可以存多少个字符
C语言中,char是一个字符类型的关键字。如果利用char定义一个变量,那么只能存放一个字符;如果利用char定义一个数组或字符指针,那么存放的字符个数根据用户分配的内存空间来定。

C语言中的char和int是什么关系?
char类型所占用的内存大小是1个字节,int类型所占用的内存大小是4个字节。需要注意的是,C语言的标准并没有规定char类型具体的大小和取值范围,这些通常由编译器实现决定。但是,char类型通常被设计为一个8位的数据类型,用于存储ASCII码字符,而int类型通常被设计为一个32位的数据类型,用于存储整数。

C语言中char字符型包含哪些字符
C语言里, char型数据只占1字节. 一共256个字符,包括128个ASCII表以及128个的ASCII扩展表。 一般常用只有数字, 字母和字符都在ASCII表当中.两个char型数据合在一起, 能够表示的字符就多得多, 在ANSI下, 两个char型数据基本能够保存本计算机的所有字符.下面是ASCII表:...

c语言中char类型如何存放多个字符
char只能存放一个字符,你可以定义一个数组来单个存放 非要存放多个字符请用字符串 如果是要存放单个汉子,请用char a[2]="的"来存放 因为一个汉字占2个字节

c语言中char是什么类型?
char是容纳单字符的一种基本数据类型,不能存储汉字,(一个汉字占2字节)存储字符串用string,其实String就是一个char的数组,不过它当中的元素多一个‘\\0'在数组的最后,表示结束 例如字符串abcd char a[]={'a','b','c','d','\\0'};是等价的。

相似回答