这里为什么是void,函数的返回值不是逆序字符串嘛?我用char类型可以吗?
第一:你要知道c语言字符串的知识点,其实是首地址开始,直到遇到字符串终结符。
第二:你要知道函数返回值和函数参数的差异,其实,用函数返回值和用函数参数都可以实现这个功能,就是看你代码怎么写。
第三:你要对函数传参有一个认知:函数按值拷贝传参,按指针地址传参,按引用传参的概念。 (如果按值传参,拷贝在函数内部修改是不生效的,如果按照地址传参,你虽然拷贝了地址,但是修改了地址中的值,其实外部地址对应的值韩式修改了。。。)
所以:上面不需要函数返回值是因为函数传参,传递的是字符串的首地址,处理后外部变量依然生效了。
至于你说的函数返回值的疑问,返回void和返回char都没有问题,但是你要知道char不是字符串,而c语言字符串的赋值一般都要提前申请内存以及用memcpy等操作,你想返回char只是返回了一个字符,却不是c字符串,,,,
这里是不用返回值的 因为函数参数传递的是指针类型, 所以在函数内部修改数组的值后, 函数调用完毕,原字符串数组的值会是改变后的值,等同于返回了值,不过这种是通过参数返回
void是任意的返回类型,也可以不用写,根本不用换成char,因为你里面写了char类型就可以