关于:二进制与十进制转换,scanf,&a
下面这段代码是二进制转换为十进制的计算,通过输入二进制,输出十进制数。运行无误。请大家先看代码,问题在下面#include"math.h"
main()
{
int a,i,k=-1,y=0;
printf("\n 请输入一个正确的二进制数:");
scanf("%d",&a);
printf("\n%d十进制为:",a);
while(a!=0)
{
i=a%10;
k++;
y+=i*pow(2,k);
a=a/10;
}
printf("%d\n",y);
}
问题是 如果将以上代码中的
printf("\n 请输入一个正确的二进制数:");
scanf("%d",&a);
printf("\n%d十进制为:",a);
三行去掉 直接a=0000111;这样就会出错, 实际应用中的a恰恰是赋值的不是输入的,请问高手上面的程序该怎么改