【发布时间】:2019-04-08 14:40:01
【问题描述】:
code sn-p 代码如下:
#include <stdio.h>
#include <stdbool.h>
int test()
{
return (printf("it is test\n"), false);
}
int main()
{
if (false == test())
printf("return result is false\n");
}
return 语句有效,但我不知道为什么它可以工作,因为我之前没有遇到过该语句。任何人都可以帮助解释这个 sn-p 代码中 return 语句的用法吗?
【问题讨论】:
-
这是一个
C问题,因此没有运算符重载。 -
@Blaze:答案只有一半。您首先需要确定它被解析为运算符。
-
有一种叫做逗号运算符的东西:stackoverflow.com/questions/1737634/c-comma-operator
-
请注意,
return是语句而不是函数调用。在它后面加括号只会影响优先级,没有其他影响。
标签: c