私は自分のコードをLinuxで実行しています。 strchr()関数にNULLが渡されたときに私のプログラムが中止されるのが見えます。これは、AIXで実行しているときには発生しないようです。strchr()でNULLが渡された場合はどうですか?
誰でもこの違いがstrchr()の動作の違いを伝えることはできますか? NULLを渡したときに
おかげ
私は自分のコードをLinuxで実行しています。 strchr()関数にNULLが渡されたときに私のプログラムが中止されるのが見えます。これは、AIXで実行しているときには発生しないようです。strchr()でNULLが渡された場合はどうですか?
誰でもこの違いがstrchr()の動作の違いを伝えることはできますか? NULLを渡したときに
おかげ
)strchrの仕様(そのためには、その異なる実装は、ええと、その場合のために別々にそれを実装するのは自由です、「正しい」動作を指定しません。 (ちょっと興味があります:NULLを渡すと、AIXのバージョンはどうなりますか?)
です。AIXでは、strchr()にNULLを渡すと、NULLを返し、プログラムは中断することなく実行されます。 –
より正確には、動作は未定義であるため、実装は一貫している必要はありません。クラッシュするかNULLを返すかは、動作に準拠しています。あなたの鼻から悪魔を飛ばすことです。 –
どのプログラミング言語を使用していますか?この関数はサーバ言語で存在します.. – rauschen
私が使用しているプログラミング言語はC++ –