二进制转十进制,帮我看看,哪错了,为什么没值输出

img

第7行那是干嘛的

好乱 你代码是自己写的还是照着别人敲的,没copy 全吧。先不看你这个ejz 函数逻辑 t=ejz(c) 这个ejz 连返回语句都没有,肯定输出不了呀

ejz 函数体类 pow(x,y) x ,y都没有初始化。做了运算又不给赋值 ,没任何意思,还跟上一行的for 循环毛关系都没有。逻辑根本就看不懂


#include <stdio.h>
#include <math.h>
#include <string.h>
int main(){
    char a[32];
    int i,n,sum=0;
    double j;
    scanf("%s",a);
    n=strlen(a);
    for(i=n-1,j=0;i>=0;i--,j++){
        sum+=(a[i]-'0')*pow(2,j);
    }
    printf("%d",sum);
}