2016-03-20 17 views
-9

条件と結果が小数である場合、三項演算をどのように考えるか。どんな結果が得られるでしょうか。たとえば、3次演算を3→5:6と見なします。どんな結果が得られるでしょうか。これをコンパイルして実行する方法を説明してください。cで珍しい三項演算

+2

**私たちが**あなたの**宿題に答えるとかなり不公平になります。特にそのような単純な質問。 – Olaf

+2

'3?5:6'はどのように珍しいのですか? – MikeCAT

+0

ありがとうございます。この質問は私のテストの一部でした。直接ではありません。私はそれを正しくしなかった。 –

答えて

2

これは5としてコンパイルされます。コンパイル時定数。


ISO-Cは、厳密には、このような表現はちょうどそれが可能であることを言って、コンパイル時に評価されなければならないことを必要としません。

定数式は、実行時ではなく変換時に評価されるため、定数が存在する場所であれば使用できます。

0

Cでは、ゼロ(およびNULL)はすべて真と見なされますが、偽とみなされます。

3?5:6に戻ると、ここでは3はゼロではない整数であり、trueとみなされます。したがって、結果は5になります。

最適化コンパイラは3?5:6から5に最適化されます。

関連する問題