chenhehui 发表于 2021-10-25 22:31:53

指针与参数课后题

动手第一题,整数与字符串转换那一题
   str = num / dec + '0';后面这个‘0’是终止符嘛?为啥不可以换成‘\0'?

jhq999 发表于 2021-10-25 22:37:50

本帖最后由 jhq999 于 2021-10-25 22:39 编辑

'0'=49就是字符0在ascii字符集中的值
'\0'=0

jackz007 发表于 2021-10-25 22:54:44

本帖最后由 jackz007 于 2021-10-25 23:03 编辑

      '0' 是字符 '0' ,其 ASCII 编码(也就是数值) 为 48
   '\0' 是空字符,其 ASCII 编码(也就是数值) 为 0。
   '0' - '\0' = 48 - 0 = 48 这就是区别。

      数字字符的 ASCII 编码之间存在以下关系:   
      '0' + 1 = '1'
      '0' + 2 = '2'
. . . . . .
      '0' + 9 = '9'
      那当然
      '9' - '0' = 9
      那么,这一句代码
      num / dec + '0'
      它的作用就是把 num / dec 的数值(比如:3)变成对应的数字字符(比如:'3'),以便能以文本(字符串)的形式把数值显示出来。
页: [1]
查看完整版本: 指针与参数课后题