• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

C语言怎么输入浮点型数组?

67975fd50519a9e6 2020-09-07 浏览量:2492
我想给一个float型的数组赋值。要怎么做。例如我想给程序里的一个数组a[8] 赋值这些数字 {12.54323.650.9843.7656.8712.4575.121.12};要怎么做。下面这个函数明显不行
float a[8] ={0};
for(int i = 0;i<8;i++)
{
scanf("%f"&a);}
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案

其他答案 数量:5
  • 这个并不是浮点数问题,而是你语法问题(对数组应用写入),正确的语句应该是

    scanf("%f" &a[i])
    其实对于这类不确定正确语句时,可以采用一种更通用的写法来保证不会出错,大致是:

    float a[8] ={0};

    float tmp;

    for (int i=0;i<8;i++){

       scanf("%f" &tmp);

       a[i]=tmp;

    }


    当然,这带来一点性能的损失,但可以保证更健壮,不容易出现数组应用理解错误

    • 发布于2020-09-08
    • 举报
    • 评论 0
    • 0
    • 0

  • 你的程序中scanf("%f"&a)仅仅是给变量a赋值浮点数,而你定义的是a[]数组,把a改为a[i]就可以了
    • 发布于2020-09-08
    • 举报
    • 评论 0
    • 0
    • 0

  • a是数组的地址,地址的地址是什么啊?你可以写成(a+i)或是&a[i]
    • 发布于2020-09-08
    • 举报
    • 评论 0
    • 0
    • 0

  • 你的&a应该修改成&a[i]就可以了,你要区分数组与地址的关系
    • 发布于2020-09-21
    • 举报
    • 评论 0
    • 0
    • 0

  • 不应是&a而应该是&a[i],这样就可以了
    • 发布于2020-09-22
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

C语言怎么输入浮点型数组?