簡體   English   中英

`printf`里面的條件語句

[英]Conditional statements inside `printf`

是否有任何方法在其他語句中使用條件語句,例如printf

一種方法是使用三元運算符? : ? :例如:

printf("%d", a < b ? a : b);

是否有更復雜條件的方法?

不需要更復雜的表達式,條件運算符已經足夠糟糕了。 它沒有語言功能。 相反,寫一個函數。

printf("%d", compare(a,b)); // good programming, readable code

printf("%d", a<b?(x<y?x:y):(x<y?y:x)); // bad programming, unreadable mess

你根本不能把語句放到printf中,你只能把表達式放在那里。 三元運算符形成一個表達式 表達式基本上是運算符和操作數的樹,但是允許使用一些有趣的運算符,如','逗號運算符或'='賦值運算符。 這允許表達式具有副作用。

每個條件語句都返回10 這些值是int

所以如果你做printf("%d",a>b); 然后將打印1 (真)或0 (假)。

在您的示例中,您使用的是三元運算符a<b?a:b 如果條件為真,那么a將要打印的其他b

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM