我正在检查用户在调用 main 时是否输入了正确数量和类型的 cmd 参数。
我认为编写一个打印出一些文本的函数是个好主意,这样我可以在检查NULL
指针时重用它。我包括<errno.h>
.
void errcall()
{
perror("Error printed by perror()");
exit(EXIT_FAILURE);
}
然后我写了一个函数来检查参数是否正确和充分。
void err_cmd_handle(int argc_input)
{
if(argc_input==1 || argc_input>2)
errcall();
}
当我在 main 中调用它并int argc
作为参数给出时,我得到了成功,即使除了启动程序之外err_cmd_handle()
我没有给出任何参数。为什么条件无法正确检查?
int main(int argc,char* argv[])
{
err_cmd_handle(argc);
return 0;
}