鱼C论坛

 找回密码
 立即注册
查看: 735|回复: 2

[已解决]新手上路,小白求助

[复制链接]
发表于 2020-5-28 16:08:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
char mystr[100];
请问各位鱼油,如果定义一个容量为一百的字符串,是不是意思是说。
只能输入99个字节,最后一个字节用来保存('\0'),谢谢各位鱼油同志!
最佳答案
2020-5-28 17:03:38
这是一个容量为100的char数组。
若只考虑存放char字符,可以放100个。
但是,若你打算用它存放字符串,最好是存放不多于99个字符的字符串。因为字符串的结尾字符'\0'也算一个字符。当你打算用%s输出字符串的时候是遇到'\0'才结束。若你存放了含有100个字符的字符串,那就没有空间存放结尾字符'\0'了。若用%s输出就可能会出错。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-28 17:00:02 | 显示全部楼层
本帖最后由 xiaosi4081 于 2020-5-28 17:01 编辑

没错,所以你要:
char mystr[100+1];


记得最佳
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-28 17:03:38 | 显示全部楼层    本楼为最佳答案   
这是一个容量为100的char数组。
若只考虑存放char字符,可以放100个。
但是,若你打算用它存放字符串,最好是存放不多于99个字符的字符串。因为字符串的结尾字符'\0'也算一个字符。当你打算用%s输出字符串的时候是遇到'\0'才结束。若你存放了含有100个字符的字符串,那就没有空间存放结尾字符'\0'了。若用%s输出就可能会出错。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-13 17:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表