三項演算子の使い方

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
s707

三項演算子の使い方

#1

投稿記事 by s707 » 14年前

次の記述を三項演算子を使って記述したいです。
よろしくお願いします。

コード:

if(i == 1){
	if( A ){ A = 0; }
}
else{
	if( B ){ B = 0; }
}
こういう書き方ではなさそうですが。

コード:

(i == 1) ? ( if( A ){ A = 0; }	) : ( if( B ){ B = 0; } )

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: 三項演算子の使い方

#2

投稿記事 by softya(ソフト屋) » 14年前

そういう書き方ではないですが、三項演算子を使ってわかりやすくなるわけでもなさそうなので止めておいたほうが良いと思います。
そんなところに「goto文を使うのか」に類するたぐいの書き方だと思います。式にする意味もわかりません。ちなみに三項演算子を使うと高速になる訳でもありません。

(i == 1) ? ( (A)?A=0:0 ) : ( (B)?B=0:0 )
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

s707

Re: 三項演算子の使い方

#3

投稿記事 by s707 » 14年前

softya(ソフト屋)様、ご返信ありがとうございます。

今回も参考になりました。
確かに分かりづらいので、使わない方が無難ですね。

ISLe
記事: 2650
登録日時: 15年前
連絡を取る:

Re: 三項演算子の使い方

#4

投稿記事 by ISLe » 14年前

三項演算子ではないですが、
if( A ){ A = 0; }

A && (A = 0);
と書くこともできます。

s707

Re: 三項演算子の使い方

#5

投稿記事 by s707 » 14年前

ISLe様、ご返信ありがとうございます。
それなら短い記述で見た目もスッキリになりますね。
参考にさせていただきます。

閉鎖

“C言語何でも質問掲示板” へ戻る