求助,二进制转换成八进制,问题在哪?
#include<stdio.h>#include<stdlib.h>
#include<string.h>
#include<math.h>
void main()
{
double s;
int j,i,n,t;
char a[64];
printf("输入一个二进制数\n:");
gets(a);
n=strlen(a);
for(i=0;i<n;i++)
s=s+(a[i]-48)*pow(2,n-1-i);
t=s;
//将二进制转为十进制
for(i=0;i<=63;i++);
{
a[i]=t%8;
t=t/8;
}
printf("输出的八进制为:");
for(j=i;j>=0;j--)
{
printf("%d",a[j]);
printf("\n");
}
}