在显示数组的时候最后一个元素总是显示-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

回到顶部