繁体   English   中英

为什么我的 C 程序没有给出正确的输出?

[英]Why is my C program not giving correct output?

这是我将二进制转换为十进制的 C 程序。 但它不起作用我不知道为什么? 请帮我解决这个问题。 帮我找出错误。

#include<stdio.h>
#include<conio.h>



int main(){
char bin[1000];
int dec=0;
int k=1;

printf("Enter bin : ");
scanf("%s",bin );

int length=0;
while(bin[length]!='\0'){
    length++;
}


for(int i=length-1 ; i>=0 ; i--){
    dec=dec+bin[i]*k ;
    k=k*2 ;
}
printf("%d",dec);




getch();
return 0;
}

您可能需要将输入的 ASCII '0' 和 '1' 转换为整数 0 和 1,因为 '1' 实际上是 49,而 '0' 是 48(参见 ASCII 表):

dec=dec+(bin[i]-'0')*k ;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM