次の方法で共有


条件式の演算子

C に 1 人の三項演算子があります : 条件式の演算子 ( または。:).      

構文

  • 条件式 :
    論理的または式

    論理 OR の または。 式の :条件式

論理的または式は 整数浮動またはポインター型である必要があります。これは 0 に等しいかの点で評価されます。シーケンス ポイントは 論理的または式に 従います。オペランドの評価は次のように検索されます :

  • 論理的または式が 0 である場合 式が 評価されます。式を評価すると非終了の で指定します。このメジャーの 式は 論理的または式が true の場合にのみ評価されます)。

  • 論理的または式が 0 と等しい場合 条件式が 評価されます。式の結果は 条件式 の値です。この方法の 条件式は 論理的または式が false の場合にのみ評価されます)。

または 条件式が 評価される両方ことに注意してください。

条件演算結果の型は 条件式の オペランドの型によって次のように決まります :

  • 条件式は 整数または浮動の型 (型は異なります) がある場合演算子は通常の算術変換を実行します。結果の型は変換後のオペランドの型です。

  • 条件 式は 同じ構造体共用体またはポインター型である場合結果の型は同じ構造体共用体またはポインター型です。

  • 両方のオペランドの型 void である場合結果は型 void があります。

  • どちらのオペランドも任意の型のオブジェクトへのポインターで他のオペランドが void へのポインターである場合オブジェクトへのポインターを void へのポインターに変換され結果は void へのポインターです。

  • または 条件式が ポインターでありもう一方のオペランドが値 0 を持つ定数式の場合結果の型がポインター型です。

ポインターの型の比較ではポインターの位置はごくわずかですが結果型は条件付き APTCA の両方のコンポーネントから修飾子を継承します。型修飾子 (または) 定数 volatile 入力します。

次の例では条件演算子の使用例 :

j = ( i < 0 ) ? ( -i ) : ( i );

この例では j に i の絶対値を割り当てます。i が 0 未満の場合-i は j に割り当てられます。i が 0 以上である i はj に割り当てられます。

void f1( void );
void f2( void );
int x;
int y;
    .
    .
    .
( x == y ) ? ( f1() ) : ( f2() );

この例では2 種類の f1 関数および f2 および 2 の変数x と y 宣言されています。2 二つの変数が同じ値である場合後でプログラムでf1 関数が呼び出されます。それ以外 f2 が呼び出されます。

参照

関連項目

条件演算子: または。: