-5

それが何を意味するのか説明できますか?

 argc >= 3 ? atoi(argv[2]) : 40;

そして2番目の質問:関数のライブラリが存在します-必要なパラメーター、このような構造

 CVAPI(void)  cvAddS( const CvArr* src, CvScalar value, CvArr* dst,
                 const CvArr* mask CV_DEFAULT(NULL));
4

2 に答える 2

1
argc >= 3 ? atoi(argv[2]) : 40;

「argc が 3 以上の場合はargv[2]整数に変換され、それ以外の場合はreturn を意味します40。前のステートメントの「return」は少し誤解を招きやすいです。実際には、式は条件に応じてどちらかに解決されます。

condition ? true_expr : false_expr

慣例により、argcmain に渡されるパラメーターの数があり、argvこれらのパラメーターを含む配列です。argv[0]は実行可能ファイル自体の名前であるためargv[1]、実行可能ファイル名の後の最初のコマンド ライン パラメータになります。

于 2012-11-23T09:38:04.363 に答える
1

最初のスニペットは、三項演算子を使用して、少なくとも 2 つの引数があるかどうかをチェックし (最初の引数はプログラム名であるため、3条件内にある)、そうである場合、式は 2 番目の引数の値を整数として返します (atoi変換します文字列を整数に)、それ以外の場合、式は value を返します40

于 2012-11-23T09:40:35.700 に答える