好的,所以我正在尝试让我的程序请求用户整数(一切正常),然后调用该函数,该函数将 5 添加到每个数组元素,我认为这很好吗?然后我需要在主程序中打印:原始整数加上 5。任何人看到什么是错的?我的程序崩溃了
#include <stdio.h>
void FUN(int ARR2[]);
int main()
{
int i=0;
int ARR1[20];
printf("Please enter 20 integers.\n");
for(i=0; i<20; i++) // switch back to 20
{
scanf("%i", &ARR1[i]);
}
FUN(&ARR1[i]);
printf("The new numbers are: %i", ARR1[i]);
return 0;
}
void FUN(int ARR2[])
{
int i=0;
ARR2[20];
for(i=0;i<20;i++)
ARR2[i]+=5;
}
最佳答案
当你到达这条线时
FUN(&ARR1[i]);
i
变量的值为 20,因此您正在访问 ARR
中的第 21 个元素,这可能会导致访问冲突。如果将此行替换为
FUN(ARR1);
并删除该行
ARR2[20];
从你的函数 FUN
你可能会得到你期望的行为
关于c - 调用整数并使用函数将数字添加到用户输入崩溃的程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29519841/