2進数を10進数に変換するプログラムを作成しようとしていますが、配列に入力された要素の量を取得する方法がわからないため、正しい答えが得られません.これは私のコードです.
#include <stdio.h>
int a=0;
int main ()
{
char bin[20];
int i=0, len, r=0, w;
printf("Enter a Binary Number: ");
scanf("%s",bin);
printf("\n");
len = sizeof(bin); /*i know this is my problem how do i get len to be the size
of the input of the user for example if the user puts 1010 len should be 4*/
for(i = 0; i < len; i++)
{
r = r * 2 + (bin[i] == '1' ? 1 : 0);
}
printf("Decimal is: %d\n\n",r);
return 0;
}