gpt4 book ai didi

c - 如何不使指向数组 [0] 的指针在每个循环中修改数组 [0]

转载 作者:太空宇宙 更新时间:2023-11-04 07:45:03 24 4
gpt4 key购买 nike

虽然我试图通过使用算术指针进行 2 个循环来给出完整的最大值和最小值数组,但我发现 Arr[0] 的值在每次迭代时都修改了它的值。我通过将第一个值保存在我在 Arr[0] 中再次分配的另一个变量中来解决这个问题,同时还将我的指针重置为起始位置。

有没有一种方法可以防止这种情况发生?

我尝试使用所有最常见的指针算术类型并使用 printf("\n array 0 = %d",Arr[0]) 来显示 Arr 的值[0] 在每次交互中。

int main
{
int count; int Arr[3]; //array is full of int values
int *ptr=&Arr[0]; int *max=&Arr[0];
...
for(count=0;count<10;count++)
{
if(*ptr>*max)
{
*max=*ptr;
}
ptr=ptr+1;
}
printf("%d",*max);
...
}

最佳答案

*max=*ptr;

你是说

max=ptr;

你不放*盲目地在每次使用指针变量之前,但只有当你想跟随它们时。当你想改变指针指向的位置时,没有*。 .

还有:count<10应该是 count<3匹配数组声明。

关于c - 如何不使指向数组 [0] 的指针在每个循环中修改数组 [0],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57845921/

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