gpt4 book ai didi

C 检查 NULL 和错误处理

转载 作者:太空宇宙 更新时间:2023-11-03 23:29:39 25 4
gpt4 key购买 nike

我有对字符串执行操作的函数。例如,String *concat(s1, s2); 这将转换 s1+s2 并返回一个新的字符串。

我想另一个用户可以向我发送 NULL 参数。我可以检查 NULL。

if(s1 == NULL || s2 == NULL)
return NULL;

然后只返回 NULL。

或者我可以让整个程序退出:

exit(EXIT_FAILURE);

我认为解决问题的最佳方法是退出该函数并且不返回任何内容。但是,如果我的用户期待 String 而我只是返回,他不会崩溃和燃烧吗?我也觉得打印给用户不是一个好主意。

我很想找到一种方法来退出函数,并且在任何情况下都允许程序继续执行。

最佳答案

由于 C 没有异常,因此您必须在返回值中指示错误条件。虽然在这种情况下为无效输入返回 NULL 听起来是个不错的选择,但您可以更改设计,以便您可以同时返回错误代码和连接的字符串:让函数接受三个参数,其中一个是输出参数。

int concat(string s1, string s2, string *out)

如果有错误,该函数将返回一个错误代码,否则将结果写入 out 参数。

关于C 检查 NULL 和错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18930251/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com