1.C字符串逆序:
void CReverse(char* ch)
{
int nLen = strlen(ch) - 1;
char szStr;
for (int i = 0; i < nLen - i; i++)
{
szStr = ch[i];
ch[i] = ch[nLen - i];
ch[nLen - i] = szStr;
}
ch[nLen +1] = 0;
}
2.C++字符串逆序(利用栈的先进后出的原理)
void CPPReverse(std::string str, std::string &stringStr)
{
std::stack<char> myStack;
for (int i = 0; i < str.length(); i++)
{
myStack.push(str[i]);
}
for (int nIndex = 0; 0 < myStack.size(); nIndex++)
{
stringStr[nIndex] = myStack.top();
myStack.pop();
}
}
调用:
#include <iostream>
#include <stdio.h>
#include <stack>
using namespace std;
int main(int argc, char* argv[])
{
char szCTable[] = "12345";
char szCPPTable[] = "6789";
std::string stringStr = "";
CPPReverse(szCTable, stringStr);
std::cout << "C++ 反转:" << stringStr.c_str() << std::endl;
CReverse(szCPPTable);
std::cout << "C 反转:" << szCPPTable << std::endl;
return 0;
}
结果: