Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
你能解释一下这是什么意思吗?
argc >= 3 ? atoi(argv[2]) : 40;
第二个问题:是否存在函数库 - 必要的参数,结构像这样
CVAPI(void) cvAddS( const CvArr* src, CvScalar value, CvArr* dst, const CvArr* mask CV_DEFAULT(NULL));
第一个片段使用三元运算符检查是否至少有两个参数(第一个是程序名称,因此是3条件中的),如果是,则表达式将第二个参数的值作为整数返回(atoi转换一个字符串到一个整数),否则表达式返回值40。
3
atoi
40
意思是“如果 argc 大于或等于三,则返回argv[2]转换为整数,否则返回40。”前面的语句中的“返回”有点误导。实际上,表达式会根据条件解析为一件事或另一件事。
argv[2]
condition ? true_expr : false_expr
按照约定,argc传递给 main 的参数数量argv是一个包含这些参数的数组。argv[0]是可执行文件本身的名称,因此argv[1]是可执行文件名称之后的第一个命令行参数。
argc
argv
argv[0]
argv[1]