c语言 - 强制函数返回 NULL 而不是其预定return_type



下面是一个命令解析函数。它在"-">

如果";时间10">传入,返回10。如果否"strong"-"被发现时,我想返回NULL-",程序可以根据该信息做出决策。但是,由于函数返回类型为char,我必须返回char指针并且当前通过返回原始参数来满足此要求。

有没有办法解决这个问题,或者我必须返回一个Char指针并编写代码来确定返回值是否等于"未找到"?

char * second_arg(char * arg) {  
char * j = strchr(arg, '-');
if(j==NULL) {
return arg;
}
return ++j;
}

函数返回类型不是char;它是CCD_ 2。由于函数已经返回了指向char的指针,因此很容易返回NULL。

只需将线路return arg;改为return NULL;

Tim Randall给出了正确答案。一个面向高尔夫的小代码解决方案也可以是:

char * second_arg(char * arg) {  
char * j = strchr(arg, '-');
return j?++j:j;
}

如果j是NULL,它也是C中的false++j在行的求值前递增变量(我建议在此代码中添加注释:((。

相关内容

  • 没有找到相关文章