C语言问题 快回答

来源:百度知道 编辑:UC知道 时间:2024/09/22 01:11:40
main()
{ int g[9],j=0, c=0;
float b,q,p;
printf("input b= ");
scanf("%d",&b);
p=b;
do
{q=p*2;
g[j]=(int)q;
j++;
c++;
p=q-(int)q;}while(c<=8);

for(j=0;j<8;j++)
printf("%d",g[j]);
getch();
return 0;
}
这个程序 好象不对 运行后都显示为0000000
我用的是win-tc 1.9.1
谁能 告诉我是哪里错了

float b,q,p;
printf("input b= ");
scanf("%d",&b);
b是float,你的输入却是int的

scanf("%d",&b);应该为scanf("%f",&b);
%d是输入int,

好多年没使用C语言了,scanf("%d",&b)这样可以吗?读取一个整形,赋值到一个浮点型变量里面?我有点晕,好久不用C语言了,说错了请见谅~另外强制转换可能会出现问题(不一定每台机器都出)。

我看得头都晕了,C语言指针很难学的,你的输入有问题?一会指针一会字符?