gpt4 book ai didi

c - C 数组元素的意外结果

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

我试图在数组位置等于 3 时插入一个整数,但不幸的是,当我打印我的数组 a 时,我得到的结果是这样的:

   0
0
2

而预期的结果是:

   0
0
128
0
0

我的代码是:

#include<stdio.h>
int substitute_and_sum(int *a, int len)
{

int sum = 0, i;
for (i = 0; i < 5; i++)
{
if (i == 3)
{
a[i] = 128;
}
}

printf("%d\n", *a);
return 0;
}

int main()
{

int arr[] = { 0, 0, 2, 0, 0 };
int j = 5, i;

for (i = 0; i < 5; i++)
{
substitute_and_sum(&arr[i], j);
}
}

最佳答案

您有两个 for 循环,它们不能很好地协同工作。删除一个或另一个。例如:

int main()
{

int arr[] = { 0, 0, 2, 0, 0 };
int j = 5;

substitute_and_sum(arr, j);
for (int i = 0; i < 5; i++)
{
printf("%d\n", a[i]);
}
}

请注意,我将 printf 移到了 main 中。您现有的程序很奇怪。

关于c - C 数组元素的意外结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18747855/

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