簡體   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