#include<stdio.h> main() { char *p,s[6]; int n; p=s; gets(p); n=*p-'0'; while(*(++p)!='\0') n=n*8+*p-'0'; printf("%d\n",n); }帮我分析这个程序,实在搞不懂?(程序的功能:将无符号的八进制数构成的字符串转换为十进制数)