我想用指針來反轉C++中的char數組。我想知道是否有什麼我應該做的不同?我是否正確地做這件事?有沒有更有效的方法來實現這一點?反向C風格字符串? - C++
我的小程序:
int main ()
{
char buffer[80];
PrintHeader();
cout << "\nString reversal program";
cout << "\nType in a short string of words.";
cout << "\nI will reverse them.";
cout << "\n:";
cin.getline(buffer, 79);
cout << "\nYou typed " << buffer;
reverse (buffer);
cout << "\nReversed: " << buffer;
cout << endl;
system("PAUSE");
return 0;
}
void reverse(char* string)
{
char* pStart, *pEnd;
int length;
char temp;
length = strlen(string);
pStart = string;
pEnd = &string[length - 1];
while(pStart < pEnd)
{
temp = *pStart;
*pStart = *pEnd;
*pEnd = temp;
pStart++;
pEnd--;
}
}
我在面試時遇到了同樣的問題。 – Void
我敢肯定這個問題是一個騙局: http://stackoverflow.com/questions/784417/reversing-a-string-in-c http://stackoverflow.com/questions/2124600/how-to-反向字符串就地使用指針 –