return只能返回简单数据类型数据
如果想返回多个类型数据组成的一组数据,可以将它们组合成结构,返回指向存放这些数据的结构的指针,或者要返回的是一组单一类型数据,可以返回其首指针
return语句不能直接返回多个值。如果想通过函数内部返回多个值的话,可是使用以下代码:
#include
//定义一个s
typedef struct _a{
int a;int b;
}A,*PA;//函数返回结构体变量,它里面就可以包含多个值
PA func(){
PA a = (A*)malloc(sizeof(A));a->a = 2;
a->b = 3;return a;
}int main()
{PA test = func();
printf(“%d %d\n”, test->a, test->b);
delete test;return 0;
}
扩展资料
#include
void min_max(int *ptr,int n)
{
int *temp;
for(int i = 0; i < 5; i++)
{
if(*(ptr) > *(ptr+i))
{
*temp = *(ptr);
*(ptr) = *(ptr+i);
*(ptr+i) = *temp;
}
if(*(ptr + n-1) < *(ptr + i) )
{
*temp = *(ptr+n-1);
*(ptr+n-1) = *(ptr+i);
*(ptr+i) = *temp;
}
}
}
int main()
{
int a[5];
for(int i = 0; i < 5 ; i++)
scanf(“%d”,&a[i]);
min_max(a,5);
printf(“%d %d”,a[0], a[4]);
return 0;
}
参考资料:百度百科 return (C语言语句)
return 只能返回一个值。如果有多个值作为输出参数,请使用引用参数或指针参数完成。
1 return只能返回一个变量,但该变量里是可以包含多个值的,即能满足“有2个以上返回值”的要求
2 方法
采用数组或结构体等复合数据类型来作为函数的返回值类型
3 示例
#include
#include
//方法1: 返回一个包含两个值的数组
int* fun1(){
int *result = (int*)malloc(2 * sizeof(int));
result[0] = 5;
result[1] = 6;
return result;
}
//方法2: 返回一个包含两个成员的结构体
struct Jiegouti{
int a;
int b;
};
struct Jiegouti fun2(){
return{ 5, 6 };
}
int main(){
int *res1 = fun1();
struct Jiegouti res2 = fun2();
printf(“%d %d\n”, res1[0], res1[1]);
printf(“%d %d\n”, res2。a, res2。b);
free(res1);
getchar();
return 0;
}
4 运行结果
- 上一篇:qq炫舞单见浅闻 情侣男的
- 下一篇:QQ飞车求能和太阳神纹身裸装搭配的衣服