c语言问题? 20

初始化字符和字符串时,应该让他们等于0还是\0呢... 初始化字符和字符串时,应该让他们等于0还是\0呢 展开
 我来答
岔路程序缘

2019-05-26 · TA获得超过8.9万个赞
知道大有可为答主
回答量:9918
采纳率:93%
帮助的人:3411万
展开全部
初始化字符和字符串时,应该让他们等于0还是\0呢?
一、你的表述不清楚,因为字符变量和字符串变量是存放字符的,所以不管赋值还是初始化,都要放上一个字符。
1、在c语言中,字符是用单引号括起来的一个字符,如'a'、'8'、'#'等。
2、在c语言中,字符还可以是用转义符引导的一个或几个字符,如'\n'、'\0'、'\%'以及'\040'或'\x30'等等,它们分别是回车符、NULL符、'%'、' '(空格)和'0'。
3、由于再c语言中,各个字符是按其ASCII码储存的,所以,实际存放的内容是相应的ASCII码。如上面所说的'a'、'8'、'#'、'\n'(回车符)、'\0'(NULL符)、'\%'(百分号)、'\040'(空格)、'\x30'(字符'0'),它们实际存放的是97、56、35、10、0、37、32、48。
4、由此可见,给一个字符变量赋值,一般有“直赋法”、“转义符法”和“数值法”三种方法,比如char ch='a'与ch='\141'与ch=97是完全等价的。
5、值得注意的是,并不是所有的字符都能显示,如回车符只能用ch='\n'和ch=10两种方法。
二、c语言规定,'\0'字符作为字符串结束符。所以,初始化时,要写上一个'\0'代表这是一个空字符串,字符变量写上一个'\0'代表“这里没有字符”(跟数字变量初始化写上一个0有异曲同工之妙)。所以要写'\0'字符。
三、根据上面的分析,写'\0'只能用直赋法和数字法,所以,你可以写char ch='\0'或ch=0对字符变量ch初始化,也可以写char ch1[10]={'\0'}或char ch1[10]={0}对字符串变量(也叫字符数组)ch1初始化。
如有不明白之处请留言。
zjf121348
2019-05-26 · TA获得超过520个赞
知道小有建树答主
回答量:1126
采纳率:59%
帮助的人:211万
展开全部
0和'\0'是同一种东西,它们和'0'不同,你先确定好“0还是\0”到底指的是哪个。
char的初始化一般根据自己的需要。大部分的实现用的是有符号的,所以也可以设为-1。
char*就NULL呗。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ffef49f
2019-05-26 · TA获得超过330个赞
知道答主
回答量:1150
采纳率:25%
帮助的人:103万
展开全部
让它们等于O吧!,一切从头在来。
追问
??????
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liuweilove360
2019-05-26
知道答主
回答量:28
采纳率:0%
帮助的人:2.2万
展开全部
等于0,恢复初始状态
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阿明JRLRV
2019-05-26 · 贡献了超过460个回答
知道答主
回答量:460
采纳率:23%
帮助的人:32.4万
展开全部
语言是人类交流的工具 ,如果人类没有语言 很难沟通 ,语言是人类的必修课 ,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式