我的理解是,*str++='-',是先对str指向的单元放一个'-'字符,然后调整指针指向下一个单元。后面的转换中,buf是按照个位,十位,百位...的顺序放入字符的。所以后面的循环处理时,用i--调整处理顺序为从数据高位向各位的顺序,按照这个顺序依次放入字符串指针str所指向的单元,同时指针+1,指向下一个存储单元。
例如,对-123,在str指针指向的单元里,按照处理顺序,像放入'-',把100放进buf时,buf中装入的是{'3','2','1'},后面倒序把buf装入str指向的单元。依次变成:{'-'} --> {'-','1'} --> {'-', '1', '2'} --> {'-', '1', '2', '3'}。
*str++='-'; 是不是就等于*str='-'; str++;这样的处理? |