函数返回值问题,为什么不接收也可以使用?

img


如图。 封装的自定义函数,返回值为一个指针类型。 问什么主函数中引用时不用定义一个char*型变量来接受?

那是因为压根就不需要你这个返回值
main 函数中定义的arr1 是个数组,同时它时个变量。
这个变量的首地址,在你整个运行过程中,并没有发生改变,只不过通过 my_strcat() 进行了 ++
所以,调用完毕之后,printf 还是 arr1 的地址,所以,不会有任何问题

函数的调用跟是否调用返回值关系不大
如果定义返回值类型变量接收则可以接收到有返回值函数的返回值,同时不定义返回值类型变量也不影响函数的调用和执行
一般是如果需要用到这个返回值的时候才定义相关变量来接收的。