saitosai1234 发表于 2014-8-10 22:28:54

基础问题,关于scanf函数输入问题。

本帖最后由 saitosai1234 于 2014-8-10 23:14 编辑

void main()
{
      double s;
      double average;
      int i;
      printf("input 10 score:\n");
    for( i=0; i<10; i++)
      {
                scanf("%f",&s);
      }
      average = score_average(s);
      printf("The average is %f", average);

}
新手,程序如上,就是scanf函数给s数组赋值有问题,运行结果不对,不知道哪里出问题了。请高手指教。
单步调试时,发现数组s无法正常赋值,像第一个输入100,s的值却是乱码。

军刀 发表于 2014-8-11 04:48:12

double 类型格式好像是%lf吧

新浪 发表于 2014-8-11 07:14:22

double类型的格式为lf

saitosai1234 发表于 2014-8-11 07:18:12

是滴,数量类型搞错了。问题已搞定。

cfy137000 发表于 2014-8-11 07:50:51

刚想回答 发现解决了~

shi632326403 发表于 2014-8-11 09:04:18

总觉得应该是
scanf( " %f " , s[ i ] );
吧 %f和%lf在VC++6.0上应该已经不分了吧

Everyting_Empty 发表于 2014-8-11 09:34:45

貌似是还区分lf和f的

计机羊咩咩 发表于 2014-8-11 12:39:32

double s;
      double average;
      int i;
      printf("input 10 score:\n");
    for( i=0; i<10; i++)
      {
                scanf("%f",&s);
      }

请楼主留心这个数组s   数组名本身就是个地址不应该写scanf("%f",&s);   应该为scanf("%f",s);

yvqiang 发表于 2014-8-11 15:09:55

推荐你用dev-c,简单又易用,一下子就出来了有没有啊:shy:
http://bbs.fishc.com/data/attachment/album/201408/11/150745dt4m7hj70r0p5c05.jpg

黑暗漩涡 发表于 2014-8-13 12:01:58

了解一下

du5045659du 发表于 2014-8-13 20:29:52

换成双精度型的
页: [1]
查看完整版本: 基础问题,关于scanf函数输入问题。