三元运算符翻译
Ternary operator translation
这会翻译成什么(以更详细的方式)?
local.sin_addr.s_addr = (!ip_address) ? INADDR_ANY:inet_addr(ip_address);
试图理解三元运算符,但我不太明白。
当你想给一个变量赋值时使用三元,你有两个选择。
相当于:
int a = true ? 1 : 2;
是:
int a;
if (true) {
a = 1;
} else {
a = 2;
}
了解这一点,您应该能够翻译您的代码。
嗯,三元运算符是您的 if/else 语句的 shorthand。要解释上面的情况,它看起来像这样。
(condition) ? (return true value) : (return false value)
这可以翻译成像@Carcigenicate answer 这样的长格式语句。
三元类似于if
语句,但它可以用在需要表达式的地方。所以它相当于:
if (!ip_address) {
local.sin_addr.s_addr = INADDR_ANY;
} else {
local.sin_addr.s_addr = inet_addr(ip_address);
}
这会翻译成什么(以更详细的方式)?
local.sin_addr.s_addr = (!ip_address) ? INADDR_ANY:inet_addr(ip_address);
试图理解三元运算符,但我不太明白。
当你想给一个变量赋值时使用三元,你有两个选择。
相当于:
int a = true ? 1 : 2;
是:
int a;
if (true) {
a = 1;
} else {
a = 2;
}
了解这一点,您应该能够翻译您的代码。
嗯,三元运算符是您的 if/else 语句的 shorthand。要解释上面的情况,它看起来像这样。
(condition) ? (return true value) : (return false value)
这可以翻译成像@Carcigenicate answer 这样的长格式语句。
三元类似于if
语句,但它可以用在需要表达式的地方。所以它相当于:
if (!ip_address) {
local.sin_addr.s_addr = INADDR_ANY;
} else {
local.sin_addr.s_addr = inet_addr(ip_address);
}