gpt4 book ai didi

c - 'one but not both' 的正确写法是什么情况?

转载 作者:太空宇宙 更新时间:2023-11-04 00:17:53 25 4
gpt4 key购买 nike

这个问题真的很随意,所以我会尽量解释清楚。我正在遍历两个大小未知的字符串。

bool check(char *str1, char *str2)
{
char special = 'k';

for (int size_t i = 0; ; i++)
{

}
}

我希望 for 循环的终止条件如下:

只有当 str1[i] == special 或 str2[i] == special 之一,但不是两者时才离开循环。

对于这个问题,请忽略我可能会出现段错误的事实,因为我既不知道大小也没有检查 0x00

我知道如何写这个,但它总是非常困惑并且涉及使用三元条件运算符。什么是更好的写法?

最佳答案

您可以按照建议使用(str1[i] == special) != (str2[i] == special) here .

这是有效的,因为在 c 中,== 只能返回 int 值之一 01(reference)。

关于c - 'one but not both' 的正确写法是什么情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39281440/

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