c语言char可以存多少个字符
charst[5];printf("inputstring:\n");scanf("%s",st);printf("%s\n",st);st为15的时候可以输入14个字母...
char st[5];
printf("input string:\n");
scanf("%s",st);
printf("%s\n",st);
st为15的时候可以输入14个字母因为左后有个\0
可是当把st[15]改为st[5]的时候输入13个字母才报错这是为什么啊?
高手帮帮忙 谢谢啦 展开
printf("input string:\n");
scanf("%s",st);
printf("%s\n",st);
st为15的时候可以输入14个字母因为左后有个\0
可是当把st[15]改为st[5]的时候输入13个字母才报错这是为什么啊?
高手帮帮忙 谢谢啦 展开
6个回答
展开全部
C语言中,char是一个字符类型的关键字。
如果利用char定义一个变量,那么只能存放一个字符;
如果利用char定义一个数组或字符指针,那么存放的字符个数根据用户分配的内存空间来定。
扩展资料:
char用法实例:
用 char 类型来专门表示一个字符,例如:
char a='1';
char b='$';
char c='X';
char d=' '; // 空格也是一个字符
char e='\63'; //也可以使用转义字符的形式
char 称为字符类型,只能用单引号' '来包围,不能用双引号" "包围。而字符串只能用双引号" "包围,不能用单引号' '包围。
输出字符使用 %c,输出字符串使用 %s。
参考资料来源:百度百科-char (计算机语言关键字)
展开全部
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个字符
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
内存溢出了。 容纳不了那么多,
char st[5];
说明st-》5个字节的空间合法。 之后的空间是不合法的。往里面强行写 那就出问题了。
char st[5];
说明st-》5个字节的空间合法。 之后的空间是不合法的。往里面强行写 那就出问题了。
更多追问追答
追问
可我写小于13个字母就不报错
追答
不报错 也不说明 无问题。 注意思维方式。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
访问了 禁止访问的地址
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
超出数组范围即越界了,结果是无法预料的。就好像放任一辆汽车开,他会开出马路,但结果是立马翻车还是撞死人还是撞树上或者开河里,就不知道了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询