C语言 将八进制字符转成十进制整数

C语言将八进制字符转成十进制整数两个地方不懂:1.p++的作用2.是怎么转换的... C语言 将八进制字符转成十进制整数两个地方不懂:
1. p++的作用
2. 是怎么转换的
展开
 我来答
匿名用户
推荐于2017-12-15
展开全部
n = *p - '0';// 这一行已经把字符串的第一个字符处理了,所以下面是从下一个字符开始
p++; //所以要自加1

转化的过程是这样子的:

假设 s = '123'

fun(s)的运行过程如下:

n = '1' - '0'; //n = 1
p++; //*p='2'

n = n*8+ *p - '0'; // n = n*8 + '2'-'0' = 1*8+2 = 10
p++;

n = n*8+ *p - '0'; // n = n*8 + '3'-'0' = 10*8+3 = 83, 此时
p++; //此时*p=0;所以循环退出,返回n,结果就是83
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式