【发布时间】:2020-12-18 12:59:07
【问题描述】:
我是编程新手。我今天学会了如何反转字符串。我尝试使用字符串而不是字符,但终端给出了错误。
string name = { "george" };
int nChar = sizeof(name) - 1;
string *pName = &name;
string *pNameLast = &name + nChar - 1;
while(pName < pNameLast) {
string save = *pName;
*pName = *pNameLast;
*pNameLast = save;
pName++;
pNameLast--;
}
cout << name << endl;
【问题讨论】:
-
请在问题中包含错误。注意有一个算法
std::reverse,我猜你想去手写吧? -
您打算使用
string *pNameLast = &name + nChar - 1;实现什么目标?你知道那是做什么的吗?好像您只是用string替换了char的每个实例。 -
提示 - 你不能只用
std::string替换char*并期望你的代码能够工作。 -
我建议你投资some good books来正确学习C++。甚至可以上几节课。