读书人

新人请教2进制转10进制程序报错

发布时间: 2012-10-14 14:55:08 作者: rapoo

新人请问2进制转10进制程序报错?
#include "stdio.h"
#include "math.h"
#include "string.h"
int BinaryToDecimal(int bin[])
{
int length;
int decimal;
int j,i;

for (length = sizeof(bin);length >= 0;length--)
{
for(i=0;i<=10;i++)
{
int z = length -1;
decimal += bin[length]*pow(2.0,z);
}
}
return decimal;

}
int main()
{
int dec;
int len;
int bin[10];
printf("input a binary string!\n");
for (int i=0;i<10;i++)
{
scanf("%d",&bin[i]);
}
dec = BinaryToDecimal(bin);
printf("The Decimal = %f\n",dec);
}

提示说变量没有被初始化??不懂,求解.
谢谢

[解决办法]

C/C++ code
#include "stdio.h"#include "math.h"#include "string.h"int BinaryToDecimal(int (*bin)[32]){    int decimal = 0;    for(int i = 0; i < 32; ++i)    {        decimal <<= 1;        decimal += (*bin)[i] - '0';    }    return decimal;}int main(){    int dec = 0;    //int len;    int bin[32] = {0};    printf("input a binary string!\n");    for (int i=0;i<32;i++)    {        bin[i] = getchar();    }    dec = BinaryToDecimal(&bin);    printf("The Decimal = %f\n",dec);} 

读书人网 >C++

热点推荐