大家帮我省一道题目吧。 这道C语言题目我是怎么也读不懂
2.程序修改题给定程序中,函数fun的功能是:将一个由八进制数字字符组成的字符串转换为与其值相等的十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。
例如,若输入:77777,则输出将是:19607。
请改正程序中的错误,使其能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
#include <stdio.h>
int fun(char *p)
{
int n;
/**********found**********/
n=*P-'o';
p++;
while( *p!=0 )
{
/**********found**********/
n=n*7+*P-'o';
p++;
}
return n;
}
main()
{
char s[6];
int I; intn;
printf("Enter a string(Ocatal
digits):");
gets(s);
if(strlen(s)>5)
{
printf("Error: String too longer!\n");
exit(0);
}
for(i=0; s[i]; i++)
if(s[i]<'0'||s[i]>'7')
{ printf("Error:%c not is ocatal
digits!\n",s[i]);
exit(0); }
printf("The original string: ");
puts(s);
n=fun(s);
printf("\n%s is convered to integer
number: %d\n",s,n);
}
如果说是把77777的八进制转十进制的话应该是3W多呀 , 读不懂神马意思 所以无从做起