[英]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.