gpt4 book ai didi

c++ - 关于cpp中的自增操作

转载 作者:行者123 更新时间:2023-11-27 23:03:56 25 4
gpt4 key购买 nike

以下代码示例是否等效?

这个:

while (true)
if (!a[counter] || !b[counter++]) break;

还有这个:

while (true){
if (!a[counter] || !b[counter]) break;
counter++;
}

我的意思是,是否会在所有条件检查完成后执行递增?


这里:

int _strCmp(char* s1,char*s2)
{
int counter = 0;

while (s1[counter]==s2[counter])
if (!s1[counter] || !s2[counter++]) return 0;

if (s1[counter] > s2[counter])
return 1;
if (s1[counter] < s2[counter])
return-1;

return 0;
}

在某些情况下,此功能无法正常工作吗?

最佳答案

不,他们不是。
如果 !a[counter] 返回真,则不会评估 OR 条件。
OR 中的第二个条件仅在第一个条件为假时才被评估。这是因为与 true 进行“或”运算的任何内容都将为真。

请看下图: enter image description here

如图所示,情况 2 不等价

关于c++ - 关于cpp中的自增操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25038914/

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