gpt4 book ai didi

c - 基本C指针问题

转载 作者:太空狗 更新时间:2023-10-29 15:09:34 25 4
gpt4 key购买 nike

好久没写C了,好像什么都忘了同时...我有一个非常简单的指针问题。假设我有一个通过循环迭代计算总和的函数。不仅要有这个功能返回循环计数器以及它计算的总和。因为我只能退一个value 我假设我能为总和做的最好的事情就是声明一个指针。我可以这样做吗:

   int loop_function(int* sum)
{
int len = 10;

for(j = 0; j < len; j++)
{
sum += j;
}

return(j);
}

....


int sum = 0;
loop_function(&sum);
printf("Sum is: %d", sum);

或者我是否需要定义一个指向 sum 的额外变量,然后将其传递给函数?

非常感谢,马库斯

最佳答案

除了这一行,你所拥有的是正确的:

sum += j;

因为 sum 是一个指针,所以这会将 指针中包含的地址 增加 j,这不是您想要的。您想要将指针指向的 增加 j,这是通过首先将解引用运算符 * 应用于指针来完成的,例如这个:

*sum += j;

此外,您需要在其中的某处定义 j,但我想您知道这一点,而这只是一个疏忽。

关于c - 基本C指针问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3299560/

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