c语言连接字符串,自定义了一个strcat函数,输出出问题了

出问题了麻烦各位帮忙解决
Error:invalid use of void expression

img

你这代码毛病多了
首先你思路就不清晰,你到底是要把str2直接拼接在str1后面呢,还是想另外拼接一个字符串输出呢
这是两个截然不同思路,一个改变str1,一个不改变str1
如果你直接拼接,那函数就不需要返回值,但是你最终要打印的是str1而不是函数的返回值
如果你想另外组织字符串,那你要为新字符串申请空间啊
你把字符已经拼接进了str1,然后又返回,这不是脱裤子放屁吗

函数返回值是个void,你printf当然不行啊
函数返回值改为char *,最后return str1;