【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で事足ります。
ただし、場合によっては簡潔に書けることがあるので使われるようです。

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

関連記事

no image

【C++】文字列のcontainsメソッドによる比較

C++/CLIなどではStringのContainsメソッドが便利ですが、純粋なC++のstring

記事を読む

PAK86_codeing20140517500-thumb-500xauto-4601

【C言語/C++】配列のまとめ

C/C++を使っていると必ず配列を使う場面が出てくると思いますが、その配列についてまとめました。C言

記事を読む

PAK86_codeing20140517500-thumb-500xauto-4601

【C言語/C++】int整数などの数値をchar配列の文字列に変換する

C++であればstringが使えて非常に便利ですが、C言語で文字列というと基本的にはcharの配列を

記事を読む

Window Command Line

【C言語/C++】関数の宣言・定義まとめ

1 関数プロトタイプ宣言・定義 1-1 プロトタイプ宣言 1-2 定義 2 ファイ

記事を読む

0f2890d83857f2d3e50d317c4ef807c2_s

【C言語】fscanfでファイルを1行ずつ読み込む

C言語のfscanfでCSV形式(単純なカンマ区切り)のファイルを読み込むサンプル。 基本的なこと

記事を読む

フォルダ画像

【C言語/C++】フォルダ作成を行う

C言語、C++でフォルダを作成するには『direct.h』にある『_mkdir』関数を使うことで実現

記事を読む

caa1

【C言語/C++】コンソールでAAアニメーション

コンソール上でAA(アスキーアート)のアニメーションをさせます。 手順としては

記事を読む

PAK86_codeing20140517500-thumb-500xauto-4601

【C++/CLI】フォームアプリケーションでコンソール画面を出現させる

プロジェクトのプロパティを開いて「構成プロパティ」→「リンカ」→「システム」の「サブシステム」を「コ

記事を読む

LIG_h_dartssurudansei500-thumb-500xauto-3336

OpenCVで矢印を描画する

OpenCVで矢印を描画するという関数が無いみたいだったので作りました。書いていることは参考リンク先

記事を読む

eigen_homepage_img

【C++】行列演算ライブラリEigen

デフォルトのCやC++には行列やベクトルなどの演算ライブラリはありません。なので行列計算などをしよう

記事を読む

encodingtype
【PHP】headerでContent-Typeを指定したのに効かない場合の対処法

PHPでサイトマップを作ろうと思い、XML形式のファイルを出力しようと

_rtm0919_tp_v
スマホ向け幅固定サイトの回転時の幅対応方法

幅固定サイトでのスマホ回転時Webサイトの横幅を合わせる方法のメモ。

rssimage
【PHP】特定のURLからそのAtomやRSSのフィードを抽出する方法

特定のURLからRSSやATOMのフィードを抽出する方法をメモ。 流

rssimage
フィード抽出ツール(RSS1.0、RSS2.0、atom)

任意URL サイト名 サイトURL RSS1.0

computer_server
格安プラン限定レンタルサーバー機能比較表(2016年)

はじめに  最近新しい共用サーバーをレンタルしようと思い調査およびそ

school_toshokan_hondana
kindle unlimitedが便利だったのでお勧めの使い方など感想メモ

 kindle unlimitedというサービスが8/3からAmazo

TAKEBE055122558_TP_V
寝る前にスマホを見ると斜視になる可能性とその対策

はじめに  寝る前などスマホを横になりながら見続けると斜視になる可能

→もっと見る

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