求c语言高手,为什么我想要把一个数字存入数组,比如1放到char a 中 需要 a = 1 +'0'而不是a=1+'\0'

求c语言高手,为什么我想要把一个数字存入数组,比如1放到char a 中 需要 a = 1 +'0'而不是a=1+'\0',数组中不是以\0昨结束的么,这怎么不一样呢

1是数字,
'0'是字符,ASCII码值为48
'\0'是八进制形式,的0,对应于ASCII码表中ASCII值为0的字符,其实就是空字符。
数组以'\0'结束是指字符串以'\0'结束,并不是用于计算的。
整形数据和字符数据在计算时是可以混用的,只要注意各自代表队数值。
比如
'0'可以直接拿来当48来用,
('0'+1)的整数值为49,作为字符的话就直接看做'1'。
其实,
a=1+'0';就是把整数1转换成字符'1',然后存入字符变量中。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-10-26
把数字1存入变量中既不要+'0',更不要+'\0',因为'\0'就是0,1+0还是1。只有当把数字1变为字符1时才用1+'0',就是说1是数字1,而1+'0'就是字符'1'了。
第2个回答  2012-04-07
1是数字,1+'0'表示字符1的地址,将数字转换成字符才可以存入char a 中,\0自动添加,不用人为添加