为什么这个二进制转十进制算出来的结果不正确
#include<math.h>#include<string.h>
int main()
{int i,b,c;
char s[50];
gets(s);
b=strlen(s);
--b;
i=0;
c=0;
for(b;b>=0;--b)
{c=c+s[b]*pow(2,i++);
}
printf("%d",c);
2021-04-28 18:59
2021-04-28 19:04
程序代码:
for(;b>=0;--b)
{
c+=(s[b]-'0')*pow(2,i++);
}
2021-04-28 21:58