转无符号十进制数,就不用判断arr[0]了,arr[0]也是数据的一部分,diam修改如下:
#include<stdio.h>
#include <string.h>
int main()
{
char arr[64];
int s,m,t;
scanf("%s",arr);
s = strlen(arr);
s--;
m=0; //初始化为0
t = 1;
for (;s>=0;s--)
{
if(arr[s] == '1')
m += t;
t*=2;
}
printf("%d",m);
return 0;
}