展开全部
初始化字符和字符串时,应该让他们等于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初始化。
如有不明白之处请留言。
一、你的表述不清楚,因为字符变量和字符串变量是存放字符的,所以不管赋值还是初始化,都要放上一个字符。
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初始化。
如有不明白之处请留言。
展开全部
0和'\0'是同一种东西,它们和'0'不同,你先确定好“0还是\0”到底指的是哪个。
char的初始化一般根据自己的需要。大部分的实现用的是有符号的,所以也可以设为-1。
char*就NULL呗。
char的初始化一般根据自己的需要。大部分的实现用的是有符号的,所以也可以设为-1。
char*就NULL呗。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
让它们等于O吧!,一切从头在来。
追问
??????
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
语言是人类交流的工具 ,如果人类没有语言 很难沟通 ,语言是人类的必修课 ,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询