C++ 关于函数返回引用值的问题。

写了一个对字符串进行大小写转换的代码,调用返回字符串的函数,但是输出为空白,代码如下,请大神来分析下!#include<iostream>#include<string>... 写了一个对字符串进行大小写转换的代码,调用返回字符串的函数,但是输出为空白,代码如下,请大神来分析下!
#include <iostream>
#include <string>
#include <algorithm>
#include <iterator>
using namespace std;
string& trans_up(string& a);
string& trans_low(string& a);
static string abc;
static string ab;
int main()
{
string a;
cout<<"enter a string to transform:"<<endl;
cin>>a;
string& b=a;

trans_up(b);
trans_low(b);
cout<<"the to upper result is:"<<abc<<endl;
cout<<"the to lower result is:"<<ab<<endl;

return 0;
}
string& trans_up(string& a){

transform(a.begin(),a.end(),abc.begin(),::toupper);
return abc;
}
string& trans_low(string& a){

transform(a.begin(),a.end(),ab.begin(),::tolower);
return ab;
}
展开
 我来答
风若远去何人留
2017-08-31 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450129
专业C/C++软件开发

向TA提问 私信TA
展开全部
#include <iostream>
#include <string>
#include <algorithm>
#include <iterator>
using namespace std;
string& trans_up(string& a);
string& trans_low(string& a);
int main()
{
string a;
cout<<"enter a string to transform:"<<endl;
cin>>a;
string& b=a;

trans_up(b);
cout<<"the to upper result is:"<<a<<endl;
trans_low(b);
cout<<"the to lower result is:"<<a<<endl;

return 0;
}
string& trans_up(string& a){

transform(a.begin(),a.end(),a.begin(),::toupper);
return a;
}
string& trans_low(string& a){

transform(a.begin(),a.end(),a.begin(),::tolower);
return a;
}
更多追问追答
追问
大神,麻烦问下。
transform中两次调用a不会出现问题吗?还有就是我原来那个代码哪里有问题,我设定一个静态变量,我个人以为是可以在引用函数中返回的,但它并没有返回。。。
追答
不仅不会出问题,而且还是必须要两次调用a
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式