【发布时间】:2018-11-06 02:41:13
【问题描述】:
我是 c 新手,我在 c 中遇到了数组问题。我不知道如何将数组中的第一个元素分配给 int 变量。当我尝试时,我从任何地方都得到了一个随机的大整数,甚至索引都在范围内。
这是我的代码的一部分:
int solve(int *elev, int n)
{
for (int i = 0; i < n; ++i)
printf("%d ", elev[i]);
putchar('\n');
printf("%d %d %d %d %d\n", elev[0], elev[1], elev[2], elev[3], elev[4]);
int low = elev[0];
int high = elev[4];
printf("low:%d high:%d\n");
// ...
}
部分输出:
1 4 20 21 24
1 4 20 21 24
low: 362452 high: 7897346
上述输出的原因是什么?
【问题讨论】:
-
除了 Dacre 的回答之外,我会删除第二条 printf 语句以支持动态 for 循环——假设您只是在测试?而
high很可能是elev[n-1](假设n>0 和elev[]已排序)