【发布时间】:2017-12-28 08:56:30
【问题描述】:
在我的程序中,我希望函数 replacef(char m) 将字母 A/a 替换为数字(初始化为 char)。但是,当我在 for 循环中调用该函数时,如果我编写例如“Alabama”(不带引号),程序将返回未更改的字符串。如何传递字符以使此功能正常工作?
#include <iostream>
#include <string>
using namespace std;
string n;
void replacef(char m)
{
switch (m)
{
case 'A':
case 'a':
m='1';
}
}
int main()
{
cin>>n;
for(int i=0; i<n.length(); i++)
{
replacef(n[i]);//Replace the current char in the string
}
cout<<n<<endl;
}
【问题讨论】:
-
s/
void replacef(char m)/void replacef(char& m)
标签: c++ reference char parameter-passing