0

これを書くための読みやすい方法を探しています(aとbは入力です):

int value = 50;
if(a == value) return b;
if(b == value) return a;
return max(a,b);

これは長いです。私はこれを思いつきましたが、これは十分に明確ではありません:

return (a==value)?b:((b==value)?a:max(a,b))

最大定義のみでこれを達成する方法はありますか?

4

1 に答える 1

1

コードは読みやすく理解しやすいものでなければなりません。あなたが言った最初のコードは長すぎると言っていましたが、非常に明確であり、3 行は C または C++ にとって不当な量のコードではありません。

これを頻繁に行う場合は、関数にパッケージ化して関数を呼び出します。禁止番号が変わる可能性がある場合は、それを関数の引数にします。

三項式は、コード usingifステートメントと本質的に同じであることに注意してください。それらはおそらく同一のコードにコンパイルされます。

于 2013-04-24T18:27:49.423 に答える