三元运算符翻译

时间:2016-10-13 04:56:59

标签: c ternary-operator

这将转化为什么(以更冗长的方式)?

local.sin_addr.s_addr = (!ip_address) ? INADDR_ANY:inet_addr(ip_address);

试图了解三元运算符,但我无法理解它。

3 个答案:

答案 0 :(得分:0)

当您想要分配给变量时使用Ternarys,并且您有两个选项。

相当于:

int a = true ? 1 : 2;

时:

int a;
if (true) {
    a = 1;
} else {
    a = 2;
}

了解这一点,您应该能够翻译代码。

答案 1 :(得分:0)

三元运算符是if / else语句的简写。为了解释上面的情况,它看起来像这样。

(condition) ? (return true value) : (return false value)

这可以转化为像@Carcigenicate回答的长篇陈述。

答案 2 :(得分:0)

三元组与<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script> <div id='dynamicdiv'> Val1:<input type="text" class='kk' name="qty[]"> </div> <input type="button" id='btnadd' name="" value="ADD"> <input type="hidden" id="hdntxt" value="1"> <p> Total : <span id="total"></span> </p> <script type="text/javascript"> $("#btnadd").click(function () { i=$('#hdntxt').val(); i++; $("#dynamicdiv").append('<br>Val'+i+':<input type="text" class="kk" name="qty[]">'); $('#hdntxt').val(i); }); var inputs = $('.kk'); $('.kk').on("blur","input",function(){ var total = 0; $.each(inputs, function(input){ var num = parseInt(inputs[input].value,10); total += (!isNaN(num))? num : 0; }); $("#total").html(total); }) </script> 语句类似,但可以在需要表达式的地方使用。所以它相当于:

if