c++程序将数字转化为字符串,在将每个数字放入数组的时候为什么要+'0' 是因为只有这样才能将数字
c++程序将数字转化为字符串,在将每个数字放入数组的时候为什么要+'0'是因为只有这样才能将数字转化为字符?还是因为字符串是以空字符结尾才需要加?如果是因为字符串以空字符...
c++程序将数字转化为字符串,在将每个数字放入数组的时候为什么要+'0' 是因为只有这样才能将数字转化为字符?还是因为字符串是以空字符结尾才需要加?如果是因为字符串以空字符结尾才加的那这样做不是让每一个字符都有了一个空字符吗?
展开
3个回答
展开全部
char 相加,并不是单纯的'a'+'b' = 'ab',而是'a'的ASCII码加上'b'的ASCII,所以'a'+'b'=195,对应的字符是'Ã',楼主这里是把字符串转成数字,而数字0的字符就是'0',ASCII码是48,num%10是得到高位的数字,得到数字后再从48开始加上这个数字,就是得到的对应到数字的ascii码,这个ascii才是要显示出来的字符。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数字字符0 - 9 对应的ASCII值是 48 ~ 57
temp[i] = num%10 + '0' 其实等价于
temp[i] = num%10 + 48
这样就实现了一个整数转化为字符的效果
即一个整数(例如 3)加上48以后,就得到了整数对应的字符的ascii值(51恰好是字符'3')
temp[i] = num%10 + '0' 其实等价于
temp[i] = num%10 + 48
这样就实现了一个整数转化为字符的效果
即一个整数(例如 3)加上48以后,就得到了整数对应的字符的ascii值(51恰好是字符'3')
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询