c语言程序问题,无法解答

来源:百度知道 编辑:UC知道 时间:2024/06/21 08:51:38
main ()
{int a,b,c;
scanf("%d",a);
b=10;
c=a*b;
printf("c=%d\n",c);
}
这样求的的 c的 值是 100
main()
{double a,b,c;
scanf("%f",a);
b=10.0;
c=a*b;
printf("c=%f\n",c);
}
这样求得c的值为0.00000;
不知道是什么原因,请高手指教!
我输入的时候是
scanf("%d",&a);
scanf("%f",&a);
刚才忘记敲了 。
还有a的值我是要通过键盘输入,首先怎么能够确定啊 ??

我知道了!·!!!!!!!
!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!
第二个因为是double所以scanf时要输入"10.00"
如果你输入时输入的是10或10.都不行,a会变成4.78382e-314(也就是零!)

scanf("%d",a);
scanf("%f",a);
这两句话里a前都没加取地址符&
加上它结果就对了

不知道,
两个的差别只是一个定义abc是整数,一个定义abc可以是分数
在检查一下程序吧啊

首先要输入a 的值,不确定a的值则系统取随机数。int 类型是整型数据,没有小数;double是双精度型数据,保留5-7位小数(具体看你的软件和机器的位数)。还有scanf("%d",a); scanf("%f",a); 这两句话里a前都没加取地址符&

你第一次输入的a的值为10
第二次输入的为0
是么?