初学者求教-结果跟字符串中字符个数有关

菜鸟求教---结果跟字符串中字符个数有关
目的是想输入一字符串,,然后输出该字符串表示的八进制数的十进制
但 算出的结果是错的,一个字符是68,两个是612?
到底 哪里不对呀

[code=C/C++][/code]#include<stdio.h>
#include<stdlib.h>

int Trans( char s[]);

main()
{
  char s[20];
   
  puts("enter a Digit(8)...");
  gets(s);
   
  printf("%d",Trans(s));
  getch();
   
}

int Trans( char s[])
{
  int i,n=0;
  char t;
  for(i=0;s[i];i++)
  {
  t=s[i];
  n=8*n+('t'-'0');
   
  }
  return n;
}


------解决方案--------------------
n=8*n+('t'-'0');
-->
n=8*n+(t-'0');
------解决方案--------------------
char t;
t你声明的是char变量,不用‘’来表示的
------解决方案--------------------
[code=C/C++][/code]#include<stdio.h>
提醒楼主:
代码应该写在
C/C++ code