【发布时间】:2020-04-29 20:29:24
【问题描述】:
此代码要求 10 个简单值来创建一个数组,然后打印它们。 scanf是正确的,10个值可以正常输入。
问题是,在打印时,从 1 到 10 的每个值都按预期打印,但 7 和 8 的值打印为 0.00。我认为可能是 for 循环运行不正确,但其他数字打印得很好。
有谁知道问题出在哪里?为什么只有 7 和 8?我可以使用相同的结构修复它吗? 感谢帮助,我是新手。这就是我所拥有的:
#include<stdio.h>
int main()
{
int index;
int size = 10;
float values[index];
for (index=0; index < size; index++)
{
printf("\nEnter value[%1d]: ",index+1);
scanf("%f",&values[index]);
}
for(index=0; index < size; index++)
{
printf("\nvalue[%1d]= ", index+1);
printf("%.2f", values[index]);
}
return 0;
}
【问题讨论】:
-
index在定义values时未初始化:float values[index];。你的意思是用 size 代替float values[size];? -
你用索引而不是大小来初始化值数组。