gpt4 book ai didi

c - 这个函数中的 `if(!found)`是如何工作的?

转载 作者:行者123 更新时间:2023-11-30 20:01:30 26 4
gpt4 key购买 nike

此函数查找数组中整数的第一次和最后一次出现。我不明白第二个 if 语句的作用 if(!found) 是否与 if(found==0) 相同?第二个语句如何“找到”第一个出现的语句?假设数组中有 3 个 4,则循环找到最后一个出现并将其设置为 plast,然后进入第二个 if 语句,它如何知道找到第一个出现而不是第二个出现发生?

find_occurences(const int a[], size_t n, int x, size_t *pfirst, size_t *plast) {
size_t i;
int found = 0;
for(i=0; i<; i++)
if (a[i] == x)
*plast = i;
if (!found) {
*pfirst = i;
found = 1;
}
}
return found;

}

最佳答案

C 中,0 表示 boolean false,任何其他非零值均被视为 > bool 值 true.

因此,如果 found = 0if (!found) 将转到 true 路径。

if(!found) is it the same as saying if(found==0)?

是的!

关于c - 这个函数中的 `if(!found)`是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31175599/

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