以下是引用xianfajushi在2020-3-26 10:37:03的发言:
使用指针传递数组,数组内容是会被修改的,因此不需要返回数组,使用返回数组何必指针是同样道理,因为,已经达到目标了;
一个函数同时需要返回2个参数如你所说的,返回减少5倍及余数可使用数组或传递2个参数,因此,不需要写2个函数,就以你例举的可以这样写
void aaa(int shu, int& shan, int& yu){...}调用 int a=111,shan=0,yu=0; aaa(a,shan,yu);这样就可以了,
还可以:void aaa(int shu, int* jieg){...}调用 int a=111,jieg[2]{0}; aaa(a,jieg);这样就可以了.
关键是达到目的,何必滥用?
不是你说滥用就是滥用了
参数是指针 同时返回值是指针
可以发挥其他作用
比如 检查函数调用是否成功
while(fgets(str, sizeof str, fp) != NULL)
{
}
比如 直接作为其他操作的参数
strcmp(strcat(str, strsrc), "password");
puts(strcpy(str, strsrc));
[此贴子已经被作者于2020-3-26 10:44编辑过]