八进制数字->十进制整数
程序代码:
/*给定程序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這個函数
裡面的指針看不是很懂
望先進給點建議