关于 return 多个值的实现

1使用指针:

1.1返回int数组:

#include "stdafx.h" 		  
#include <iostream>
#include <string>			
using namespace std;	//使用指针,返回一个填充好的数组;
int *c(int a[]);
int main()
{	int q[10];
	int *w=c(q);
	for(int j=0;j<10;j++)
	cout<<*(w+j);
}
int *c(int a[])
{
	for(int i=0;i<10;i++)
	{
		a[i]=i;
	
	}
	return a;

}



1.2返回字符串数组



#include "stdafx.h"
#include <iostream>	//返回一个重复固定次数字母的字符串
#include <string>			
using namespace std;
char *a(char c,int size);
int main()		
{	char ch;
	int s;
	cout<<"输入字符串";
	cin>>ch;
	cout<<"输入SIZE";
	cin>>s;
	char *ps=a(ch,s);
	cout<<ps<<endl;
}


char *a(char c,int size)
{
	char *array=new char[size];
	//array[size]='\0';
	for(int i=0;i<size;i++)
		array[i]=c;
	return array;




}


2直接返回字符串

#include "stdafx.h"
#include <iostream>
#include <string>		//对原有字符串进行修饰,返回字符串using namespace std;
string c(string s);
int main()
{	string a;
	cout<<"输入字符串:";
	cin>>a;
	string ps=c(a);
	cout<<ps<<endl;
}
string c(string s)
{	string a="++++";
	s=a+s+a;
	return s;
}


3 使用结构体


#include "stdafx.h"
#include <iostream>
#include <string>			//函数的参数为结构体,返回结构体
using namespace std;


struct a{
	int aa;
	int bb;
	int cc;	
};
a va(a q);
int main()
{
	a a1;
	a a2;
	cout<<"输入变量:";
	cin>>a1.aa>>a1.bb>>a1.cc;
	a2=va(a1);
	cout<<a2.aa<<"  "<<a2.bb<<"   "<<a2.cc;


}
a va(a q)
{	
	 a a2;
	 a2.aa=q.aa;
	 a2.bb=q.bb;
	 a2.cc=q.cc+q.aa+q.bb;
	 return a2;




}









  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值