你能解释一下这是什么意思吗?
argc >= 3 ? atoi(argv[2]) : 40;
第二个问题:确实存在函数的libarries - 必要的参数,结构类似
CVAPI(void) cvAddS( const CvArr* src, CvScalar value, CvArr* dst,
const CvArr* mask CV_DEFAULT(NULL));
答案 0 :(得分:1)
argc >= 3 ? atoi(argv[2]) : 40;
表示“如果argc大于或等于三返回argv[2]
转换为整数,否则返回40
。”返回“在前一个语句中有点误导。实际上表达式解析为一个事情或其他,取决于条件。
condition ? true_expr : false_expr
按照惯例,argc
具有传递给main的参数数量,argv
是包含这些参数的数组。 argv[0]
是可执行文件本身的名称,因此argv[1]
woudl是可执行文件名后面的第一个命令行参数。
答案 1 :(得分:1)
第一个片段使用ternary operator来检查是否存在至少两个参数(第一个是程序名,因此条件中为3
)如果是,则表达式返回第二个参数的值为整数(atoi
将字符串转换为整数),否则表达式返回值40
。