次の命令のように、c言語の関数パラメータ内の等価演算子(==)の意味は何ですか?関数パラメータ内の等価演算子(==)
bind_transaction(proc、thread、& tr、cmd == BC_REPLY);
次の命令のように、c言語の関数パラメータ内の等価演算子(==)の意味は何ですか?関数パラメータ内の等価演算子(==)
bind_transaction(proc、thread、& tr、cmd == BC_REPLY);
cmd == BC_REPLY
は、関数binder_transaction
の引数として、基本的には関数に渡される値がint
です。これは私が関数の引数ではない戻り値に「==」について知りたい
int b = (cmd == BC_REPL); // Will return either 0 or 1
binder_transaction(proc, thread, &tr, b);
と同等です! – Cert
* C言語の演算子*は*式*で使用されます。それで全部です。関数の引数として使用される式と他の場所で使用される式(例えば戻り値)との間には全く違いはありません。文脈にかかわらず、それは単なる表現である。 "関数の引数"と "戻り値"の区別を確立しようとする試みは、全く根本的なものではありません。区別はありません。 – AnT
@Cert:答えは、それが重複しているという事実によって与えられる: '=='演算子をどこに適用するかに違いがないので、引数として渡された点は無関係です。あなたが知る必要があるのは '=='が返すものだけです。 – MicroVirus