这个并不是浮点数问题,而是你语法问题(对数组应用写入),正确的语句应该是
scanf("%f" &a[i])
float a[8] ={0};
float tmp;
for (int i=0;i<8;i++){
scanf("%f" &tmp);
a[i]=tmp;
}
当然,这带来一点性能的损失,但可以保证更健壮,不容易出现数组应用理解错误