在c语言中哪几种初始化字符串时,编译器会自动给字符串加上结束符?

我在学C语言,刚入门,是个菜鸟,请格纹帮忙!谢谢!... 我在学C语言,刚入门,是个菜鸟,请格纹帮忙!谢谢! 展开
 我来答
FrankHB1989
2010-05-02 · TA获得超过4.2万个赞
知道大有可为答主
回答量:4569
采纳率:100%
帮助的人:3299万
展开全部
以字符串字面量(配对的双引号之间的字符串)来表示字符串时,字面量本身末尾隐含了'\0'。用字符串字面量来声明一个字符指针或数组时,最后会以'\0'结尾,因此是有效的字符串。
此外,自动变量只要在声明同时初始化,且初始化部分没有完全填满声明的空间时,剩余部分都会被填充0。由于(char)0等于'\0',对于char数组而言,会以一连串的'\0'结尾,其中第一个'\0'和之前的部分就是一个有效的字符串。静态/全局变量定义同时如果没有显式初始化,则会自动初始化,同样是填充0的方式。
至于scanf、gets等以字符串方式读输入流的函数,都会在末尾自动添加'\0'以保证读入的字符串有效。不过这体现的是运行期赋值语义,和编译期确定的初始化无关。
====
[原创回答团]

参考资料: 原创

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
街角哦祝福
2010-05-01 · TA获得超过535个赞
知道小有建树答主
回答量:306
采纳率:0%
帮助的人:370万
展开全部
每个字符串的后面都会自动加上 结束符
可以参考
http://book.51cto.com/art/200911/164177.htm
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cqh45
2010-05-02
知道答主
回答量:48
采纳率:0%
帮助的人:0
展开全部
c语言中的字符串是按数组来处理的,当你输入一个字符串的敲回车的时候就自动给字符串增加了一个‘\0'结束标记。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式