gpt4 book ai didi

位串的字符数组

转载 作者:太空宇宙 更新时间:2023-11-04 06:01:36 24 4
gpt4 key购买 nike

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 作为答案时。我不确定我做错了什么。任何帮助将非常感激。

最佳答案

这是因为'1''0'是字符'1''0' ,而不是整数值。您需要从中减去 '0' 以获得数值:

sum = sum*2+(bitstr[i]-'0');

关于位串的字符数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18808070/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com