gpt4 book ai didi

c - 当存在目标变量时,在 strcat、strcopy 等(等)中返回 char* 的目的是什么?

转载 作者:太空狗 更新时间:2023-10-29 15:27:13 25 4
gpt4 key购买 nike

只是一个愚蠢但快速的问题:为什么一些使用 c 风格字符串的函数,例如:fgets、strcpy、strcat 等,当参数列表中有一个变量存储输出?即,为什么会这样:

char *strcat ( char *dest, const char *src );

不是

void strcat ( char *dest, const char *src );

甚至只是返回结果

char *strcat (const char *src );

我的意思是,如果您嵌套调用这些函数(这很危险),我可以看出这会有什么用,但我不明白为什么您需要同时拥有目标变量和返回结果...

我正在复习一些 C 编程的东西,不敢相信我忘记了多少!

最佳答案

为了方便使用,让这些函数可以在更大的表达式中使用或者可以嵌套。

类似于:

strcat(path, strcpy(file, "foo.txt")); 

printf("[%s]\n", strcat(string1, string2));

不用说,这些用法可以而且应该避免。

关于c - 当存在目标变量时,在 strcat、strcopy 等(等)中返回 char* 的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10476501/

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