【发布时间】:2014-05-27 20:36:35
【问题描述】:
我的代码有问题。 我正在创建一个动态数组并要求一些值。 但是当我在屏幕上打印它们时,数组似乎未初始化。
int main(void)
{
int i, j;
double *p;
printf("How much numbers?\n");
scanf("%d", &i);
p = malloc (sizeof(double)*i);
for(j = 0; j < i; j++)
{
printf("Set nr. %d :\n", j);
scanf("%f", p+j);
}
for(j = 0; j < i; j++)
{
printf("Nr. %d = %f\n", j, *(p+j));
}
}
我认为问题应该出在这一行,但我不知道为什么?
scanf("%f", p+j);
我也试过这个版本的代码:
scanf("%f", (p+j));
scanf("%f", &p[j]);
谢谢!
【问题讨论】:
标签: c arrays pointers dynamic initialization