#include <stdio.h>
#include <string.h>
int int_values(char *);
#define SIZE 33
int main(void)
{
char * pbin;
char rjz[33];
int number=0;
printf(“请输入需要转换的二进制:(输入q退出)\n”);
//循环输入二进制转换为十进制
while(scanf("%s",rjz)==1 && rjz[0]!=‘q’)
{
pbin=rjz;
number=int_values(pbin);
printf(“二进制 %s = 十进制 %d.\n”,pbin,number);
printf(“请输入下一个需要转换的二进制:(输入q退出)\n”);
while(getchar()!='\n')
continue;
}
return 0;
}
int int_values(char *pbin)
{
int number = 0 ;
//数组pbin[i]==’\0’ 也就是空字符 结束循环
for (int i = 0 ; pbin[i] ; i++)
{
number <<= 1 ;
number |= (pbin[i] - ‘0’);//把字符转换成二进制1或0赋值给当前number的0位
}
return number ;
}