C++编程:两个问题,函数怎样返回两个值呢?想在主函数里调用一个返回值为空的函数该怎么做呢?

void f(int *ptr, int size)
比如这样的函数,该怎么表现在主函数里呢

“函数怎样返回两个值呢”

函数只能返回一个对象。所以你有不同的渠道令函数返回多个值。一种方法是将要返回的多个数值打包成一个结构体,返回这个结构体;另一种方法是传递参数时传入待修改参数的指针或者钩子,在函数内修改目标参数的实体。

“主函数里如何调用void型函数”

直接调用即可,例如你的f()函数可以……

int main(void)
{
  // blablabla...
  f(&SomeInt, SomeLength);
  // blablabla...
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-12-29

在函数中使用指向结构体、数组的指针,可以返回多个值。

第二个问题:

void f(int *fac, int n)
{for(*fac=1;n;n--)*fac*=n;
}
main()
{int n,y;
 scanf("%d",&n);
 f(&y,n);
 printf("%d!=%d\n",n,y);
}

第2个回答  2018-12-29
返回值只能有一个。
如:int* a;int c; 直接f(a,c)就行了。追答

指针注意初始化

相似回答