八进制数字->十进制整数
程序代码:/*给定程序MODI1.C 中函数fun 的功能是:将一个由八进制数字字符组成的字符
串转换为与其面值相等的十进制整数。规定输入的字符串最多只能包含5 位八进制
数字字符。
例如,若输入:77777,则输出将是:32767。*/
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
int fun( char *p ){
int n;
n= *p-'0'; //???
p++; //???
while( *p!=0 ) { //???
n=n*8+*p-'0'; //????
p++; //???
}
return n;
}
int main(){
char s[6];
int i;
int n;
printf("Enter a string (Ocatal digits): ");
gets(s);
if(strlen(s)>5){
printf("Error: String too longer !\n\n");
exit(0);
}
for(i=0; s[i]; i++)
if(s[i]<'0'||s[i]>'7'){
printf("Error: %c not is ocatal digits!\n\n",s[i]);exit(0); }
printf("The original string: ");
puts(s);
n=fun(s);
printf("\n%s is convered to integer number: %d\n\n",s,n);
system("pause");
return 0;
}
fun這個函数裡面的指針看不是很懂
望先進給點建議






