gpt4 book ai didi

c - c 中作为条件的逻辑运算符

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

我想做以下事情:

r = recv(socket, buffer, bufsize, 0) && return r;

这不起作用,因为 return -r; 不是表达式。然而,

r = recv(socket, buffer, bufsize, 0) && printf("r=%d\n", r);

似乎有效。现在,除了语法简洁之外,从中没有太多好处,但我仍然很好奇是否有一种方法可以实现实际编译的 && return r; 的功能?

编辑:如果不清楚,&& 之后的表达式当且仅当第一个不为零时才执行。

最佳答案

the expression after the && should be executed if and only if the first one is non-zero.

这是你的问题:表达式不是执行,而是求值。语句被执行。

表达式在求值过程中可能会产生副作用,但它们总是求值到某个值。如您所知,return 是一个语句,而不是一个表达式

所以,简而言之,不行,你想做的事情没有办法。

关于c - c 中作为条件的逻辑运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44541482/

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