gpt4 book ai didi

c - 增加指针的值不起作用

转载 作者:行者123 更新时间:2023-11-30 18:17:10 24 4
gpt4 key购买 nike

这个程序应该使用指针来计算相似条目的数量,但是每当我输入数字时,计数器总是等于零。我到底出了什么问题?

#include <stdio.h>
#include <stdlib.h>

//using function to count similar enteries in an array...
void count_similar_enteries(int array_func[10],int *number, int *ptr_to_counter);

int main()
{
int number = 0;
int array[10] = {0,1,1,2,3,1,2,67,65,1};
int counter = 0;
printf("enter a number\n");
scanf("%d", &number);
count_similar_enteries(array, &number,&counter);
printf("the number of similar enteries are %d\n", counter);
return 0;
}

void count_similar_enteries(int array_func[10],int *number, int *ptr_to_counter)
{
int i;
for (i = 0; i< 10 ; i++)
{
if(array_func[i] == *number)
{
*ptr_to_counter++;
continue;
}
else
{
continue;
}
}
}

最佳答案

*ptr_to_counter++; 正在递增指针本身,请编写 (*ptr_to_counter)++; 来递增 ptr_to_counter

请注意,继续; 是多余的。您不必在那里使用if-else。无论如何,循环都会被“循环”。你可以这样做:

for(i = 0; i< 10 ; i++) {
if(array_func[i] == *number) {
(*ptr_to_counter)++;
}
}

我建议您尽可能减少指针的数量,例如,您不必逐个指针传递计数器。您可以只拥有一个本地 int 计数器; 并将其值返回给调用者。

关于c - 增加指针的值不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20931206/

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