C语言double 型 只能在有小数点的数时候用吗?

//s=a+aa+aaa+……+aaaaaaa(n个a)
#include<stdio.h>
int main()
{
double n,a,s=0.0,h=1.0,a1;
printf("请输入a,n:");
scanf("%d,%d",&a,&n);
a1=a;
while(h<=n)
{s=s+a;<br> a=a*10+a1;<br> h++;<br> }
printf("%f\n",s);return 0;
}
C语言double 型 只能在有小数点的数时候用吗?这一题如改成int 答案就是对的,为什么?1.0 不能算是小数么?

你在定义变量时用的是double而在scanf()中用的是%d导致类型不匹配,所以会出现编译错误,你可以将double改为int或者将%d改为%f这样就OK了!!希望对你有用!!!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-26
原因在于scanf里面用了%d,与double类型不符,可以改成%f

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网