-5

你能解释一下这是什么意思吗?

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

第二个问题:是否存在函数库 - 必要的参数,结构像这样

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

2 回答 2

1

第一个片段使用三元运算符检查是否至少有两个参数(第一个是程序名称,因此是3条件中的),如果是,则表达式将第二个参数的值作为整数返回(atoi转换一个字符串到一个整数),否则表达式返回值40

于 2012-11-23T09:40:35.700 回答
1
argc >= 3 ? atoi(argv[2]) : 40;

意思是“如果 argc 大于或等于三,则返回argv[2]转换为整数,否则返回40。”前面的语句中的“返回”有点误导。实际上,表达式会根据条件解析为一件事或另一件事。

condition ? true_expr : false_expr

按照约定,argc传递给 main 的参数数量argv是一个包含这些参数的数组。argv[0]是可执行文件本身的名称,因此argv[1]是可执行文件名称之后的第一个命令行参数。

于 2012-11-23T09:38:04.363 回答