gpt4 book ai didi

c - 为什么这个函数不能正确地将数组中的值乘以给定的倍数?

转载 作者:行者123 更新时间:2023-12-02 05:57:32 24 4
gpt4 key购买 nike

我正在尝试用 C 编写一个函数,它接受一个指向数组的指针并返回该指针,其中所有值都乘以该倍数。我有:

int* returnNpledArray(int *a, int n){
int i = 0;

for(i = 0; i < SIZE; i++){
*a++ *= n;
}
return a;
}

但是当我调用它时,我主要是这样做的:

    int sample2[] = {-10,-8,-6,-4,-2,0,2,4,6,8};
returnNpledArray(sample2, 3);

int d = 0;
for (d = 0; d < SIZE; d++){
printf("%d\n", *sample2);
}

整个数组只打印出其中的第一个值乘以 n。我认为是因为在函数中,我说 *a++ *= n;我在 a 中取消引用该位置的值并递增指针。我怎样才能让它工作?

最佳答案

因为您通过执行 printf("%d\n", *sample2); 被困在一个指针,即 sample,而应该是 printf ("%d\n", sample2[d]);

关于c - 为什么这个函数不能正确地将数组中的值乘以给定的倍数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45364749/

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