【发布时间】:2020-10-30 23:36:31
【问题描述】:
我的程序(到目前为止)应该检查是否正好有一个额外的命令行参数。如果不是这种情况,我的 main 函数应该返回 1。出于可读性原因,我决定将检查外包给另一个函数。问题是,我不知道如何使主函数返回与辅助函数相同的值。我的代码如下:
int main(int argc, char *argv[])
{
checkNumberOfArguments(argc);
return 0;
}
int checkNumberOfArguments(int argc)
{
if (argc != 2)
{
printf("Error");
return 1;
}
return 0;
}
我怎样才能以优雅的方式解决这个问题?
【问题讨论】:
-
return checkNumberOfArguments(argc);是正常的方式。我不知道这是不是优雅。 -
那行得通,谢谢@MikeCAT。问题是,当我扩展程序以做更多事情时,main 的返回值将固定为该特定函数的返回值。还有其他解决办法吗?
-
喜欢
int ret = checkNumberOfArguments(argc); return ret;?似乎这里写的唯一条件是“主函数返回与辅助函数相同的值”。你有什么问题?
标签: c command-line-arguments return-value