for(i = 0; bitstr[i] != '\0'; i++){
if(!(bitstr[i]=='0' || bitstr[i]=='1')){
printf("Not a valid bitstring!");
exit(0);
}
else{
sum = sum*2+bitstr[i];
}
}
printf("%d", sum);
例如,当我输入 101 时,它会打印 339,而它应该打印 5 作为答案。我不确定我做错了什么。任何帮助将非常感激。