在显示数组的时候最后一个元素总是显示-858993460
这是代码
#include<stdio.h>#include<stdlib.h>
#define N 11
int fun1(int w[],int b[],int n);
int main()
{
int a[N], b[N] = { 0 }, n=0;
for (int i = 0; i < N; ++i)
{
a[i] = rand() % 100;
}
printf("原数组为n");
for (int i = 0; i <= N; i++)
{
printf("%d ",*(a + i));
}
printf("n");
n=fun1(a, b, n);
printf("操作后数组为n");
for (int j = 0; j < n; j++)
{
printf("%d ", b[j]);
}
}
int fun1(int a[], int b[], int n)
{
for (int i = 0; i <= N; i++)
{
if (*(a + i) % 2 == 0)
{
continue;
}
else
{
b[n] = a[i];
n++;
}
}
return n;
}
望解答!
回答
for (int i = 0; i <= N; i++)
这里<=N导致数组越界了。应该是<N
以上是 在显示数组的时候最后一个元素总是显示-858993460 的全部内容, 来源链接: utcz.com/a/32136.html