zhoushishang 发表于 2013-6-1 15:26:00

多维数组键盘输入的问题

本帖最后由 zhoushishang 于 2013-6-1 15:29 编辑

程序如下:
#include <stdio.h>

int main(void)
{
      double arr;

      for(int r=0;r<3;r++)
                for(int c=0;c<5;c++)
                {
                        arr=1;
                        scanf("%f",&arr);
                        printf("%f\n",arr);
                }

      return 0;
}


运行结果:如图。
不知道为什么scanf("%f",&arr);没有效果?是C99标准,所以问题不是出在%f上。


明月生寒 发表于 2013-6-1 16:31:53

你说%f没有问题,我就没往这里想,调了半天才发现还是%f的问题。。。

zhoushishang 发表于 2013-6-1 16:11:45

问题已经解决:C99标准如下:
对于printf() 用 %f 表示 float、double ; %lf或者%Lf 表示 long double
对于scanf() 用 %f 表示 float;%lf 表示double;%Lf 表示 long double

明月生寒 发表于 2013-6-1 16:27:25

本帖最后由 明月生寒 于 2013-6-1 16:31 编辑

#include <stdio.h>
int main()
{
        double arr;

        for(int r=0;r<3;r++)
        {
                for(int c=0;c<5;c++)
                {
                        arr=1;
                        scanf("%lf",&arr);//这里要用%lf...
                        printf("arr[%d][%d]= %.2lf\n",r,c,arr);
      }
        }

    return 0;
}
页: [1]
查看完整版本: 多维数组键盘输入的问题