gpt4 book ai didi

c - K&R 指针操作

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

在 K&R 的第 6 章中,我们回顾了通过指针访问结构的元素。我们得到一个函数:

struct key *binsearch(char *word, struct key *tab, int n)
{
int cond;
struct key *low = &tab[0];
struct key *high = &tab[n];
struct key *mid;

while (low < high) {
mid = low + (high-low) / 2;
if ((cond = strcmp(word, mid->word)) < 0)
high = mid;
else if (cond > 0)
low = mid + 1;
else
return mid;
}
return NULL;
}

在这个程序的早期版本中,我们没有使用指针,我们可以将 mid 计算为 mid = (low+high)/2 但现在我们需要将 mid 计算为 mid = low + (high-low)/2

我知道你不能添加指针,因为从逻辑上讲结果不会返回任何有用的东西,但我不明白的是我们不是还在用 mid = low + (high-low )/2?我们要将 low 添加到 (high-low)/2?

的结果中

最佳答案

我想通了我在逻辑上的误区。当您减去两个指针时,结果是这两个指针之间的距离,可以将其添加到一个指针。

关于c - K&R 指针操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18661232/

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