填空题给定程序MODIl.C中函数fun的功能是:将一个八进制数字字符组成的字符串转换为与其面值相等的十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
文件MODIl.C内容如下:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int fun(char *p)
int n;
/**********found**********/
n=*P-’0’:
p++:
while(*p!=0)
/**********fonnd**********/
n=n*7+*P-’o’:
p++:
return n;
void main( )
char s[6];
int i,n;
printf("Enter a string(Oeatal 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 eonvered to integer number:%d\n\n",s,n);