高手来给我解决下!
程序代码:
#include <stdio.h> int main(void) { char *p,s[6]; int n; n=0; p=s; /*字符指针p指向字符数组s*/ printf("输入你要转换的八进制数:\n"); gets(p); /*输入字符串*/ while(*(p)!='\0') /*检查指针是否都字符数组结尾*/ { n=n*8+*p-'0'; /*八进制转十进制计算公式*/ p++; /*指针后移*/ } printf("转换的十进制是:\n%d\n",n); return 0; }这里面的n=n*8+*p-'0'是什么意思啊?
为什么要减'0',不减结果不对,干嘛要减?