1

所以我试图编写一个将二进制转换为十进制的程序,我的一切都是正确的,但我没有得到正确的答案,因为我不知道如何获取输入到数组中的元素数量这是我的代码

#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;
 }  
4

1 回答 1

2

在标题字符串中使用 strlen 函数。

IE

#include<string>

使用 strlen 函数代替 sizeof(bin)

len = strlen(bin);
于 2013-03-06T06:34:34.163 回答