gpt4 book ai didi

c - C 中的未知段错误

转载 作者:太空宇宙 更新时间:2023-11-04 01:19:34 25 4
gpt4 key购买 nike

当我编译我的代码时,一切都编译成功,但是当我运行我的代码时,我收到一个“段错误”。是什么导致了这个错误?据我所知,我已经点缀了所有的 i 并划掉了所有的 t。

-我编辑了我的代码以反射(reflect)一些建议的更改,但仍然出现相同的错误-我的代码如下:

#include <stdio.h>
int main(void)
{
int a[100];
int n = 0;
int i = 0;
int *even_elt_sum_ptr = 0;
int *odd_elt_sum_ptr = 0;

printf("Enter size of array: ");
scanf("%d", &n);

printf("Enter elements in array: ");
for(i = 0; i < n; i++)
{
scanf("%d", &a[i]);
}//end of for loop

sum(a, n, even_elt_sum_ptr, odd_elt_sum_ptr);

}//end of main

int sum(int a[], int n, int *even_elt_sum_ptr, int *odd_elt_sum_ptr)
{
int i = 0;
for(i = 0; i < n; i++)
{
if (a[i] % 2 == 0)
{
*even_elt_sum_ptr += a[i];
}//end of if statement
else
{
*odd_elt_sum_ptr += a[i];
}//end of else statement

}//end of for loop
printf("%d\n", *even_elt_sum_ptr);
printf("%d\n", *odd_elt_sum_ptr);

}//end of sum function

最佳答案

您声明了 sum 函数以获取一个名为 a 的整数数组。

但是,当您调用该函数时,您只传递了一个整数,而且是一个无效的整数!

int a[100];         // Declare an array: valid indicies are [0] to [99]
sum(a[100], .... ); // Try to pass the single integer, a[100], which is not valid!

int sum(int a[], ... ) // The function expects an ARRAY, not a single, undefined value.

关于c - C 中的未知段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47584044/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com