【C言語/C++】はてなの演算子の三項演算子について

公開日: : 最終更新日:2014/08/14 C/C++

スポンサーリンク

C言語などのサンプルにたまに出てくるはてな(?)の演算子は
『?』と『:』の2つで1つの演算子である三項演算子という三項の条件演算子を指しています。

【条件式】 ? 【真の場合】 : 【偽の場合】

条件式が真なら【真の場合】が、偽なら【偽の場合】のものが返ってきます。それぞれには数値などの値や関数などの式が当てはまります。

サンプル)

#include<stdio.h>
int getCount(void){
return 2;
}
int main(void){
/*
単純なサンプル
*/
int a = 0 ? 2 : 3; /*偽なので『3』が返ってくる*/
int b = 1 ? getCount() : 3; /*真なのでgetCount関数が呼ばれる*/
/*
ピクセル(pixel)の値が100以上なら255、
それ以下なら0に二値化する
*/
int pixel = 120;
char *str = pixel>=100 ? "白" : "黒"; /*真なので『白』が返ってくる*/
pixel = pixel>=100 ? 255 : 0; /*真なので255が返ってくる*/
/*出力テスト*/
printf("a=%d : b=%d\npixel=%d(%s)\n",a,b,pixel,str);
}
a=3 : b=2
pixel=255(白)

この三項演算子ですが、お察しのとおりif~elseで事足ります。
ただし、場合によっては簡潔に書けることがあるので使われるようです。

スポンサーリンク
  • このエントリーをはてなブックマークに追加

関連記事

WordPressサイトのSSL対応(HTTPS化)手順のまとめ【さくらサーバー】

先週頃にこのサイトをSSL対応しましたのでその流れについてまとめておき

【Google Charts】動的にグラフを更新する方法

はじめに Webサイト上でグラフを描こうと思った場合、いくつかのJa

体重変化量計算シミュレータ【ダイエット/肥満】

ツール本体 入力 カロリー入力 1日の余剰摂取/消費カロリー

おサイフケータイ対応ストレージ32GBのSIMフリースマホまとめ【2017年秋版】

はじめに SIMフリーの格安スマホのおサイフケータイ機能付きのもので

リクルート期間限定ポイントの有効な使い道

はじめに  先日クレジットカードの見直し活動の一環でポイント還元率の

初心者がお金を貯めるための節約・財テク手法まとめ【ポイント還元・投資・税金対策】

はじめに  最近なるべく節約しようと思い、お金周りに関して色々調べて

動画講座を効率的にキャプチャして復習する方法

はじめに  最近、動画媒体の講座などをたまに視聴しています。独学だと

→もっと見る

  • Author : ががんぼ
    プログラミングやWeb関係で気付いたことについてメモしていく予定。だいたいが備忘録ですが、自分でサンプルを作って動かしてみたりしています。
PAGE TOP ↑