当我们既需要通过函数返回值来判断函数调用是否成功,又需要把数据传递出来,此时,我们就要用到多参返回。多参返回都是通过传递调用空间中的空间地址来实现的。
#include <stdio.h>
#include <stdlib.h>//该行注释掉system报错
//求两个正数的和与差
int func(int *pDiff, int *pSum, int a, int b)
{
if (a > 0 && b > 0) {
int sum = a + b;
int diff = a - b;
*pSum = sum;
*pDiff = diff;
}
else
return -1;
}
int main() {
int a = 3, b = 4;
int sum, diff;
int ret = func(&diff, &sum, a, b);
if (ret < 0) {
return -1;
}
else {
printf("和:%d 差:%d\n", sum, diff);
}
system("pause");
return 0;
}