gpt4 book ai didi

c - C 中棘手的数组增量

转载 作者:行者123 更新时间:2023-12-02 09:21:54 24 4
gpt4 key购买 nike

我不明白为什么在if语句之前++b[1]等于1,但在if语句之后++b[1]等于0。为什么++b[1]里面不增加if 语句?

#include <stdio.h>

int main()
{
int c = 0;
int b[3] = {4};
printf("%d\n", ++b[1]); // return 1
b[1]--;
if((c-- && ++b[1])|| b[0]++)
{
printf("%d\n", b[1]); // return 0
printf("%d\n", c); // return -1
}
return 0;
}

最佳答案

if((c-- && ++b[1])|| b[0]++)

c-- 产生 0,因此不评估 ++b[1]

这称为short-circuit evaluation .

关于c - C 中棘手的数组增量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41968166/

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