可能重複:
C++ Reverse Array反轉字符數組
我可如何扭轉一個字符數組?就像這樣:
char word1[10] = "this";
char word2[10] = word1[10] // in reverse
cout<<word2; // I want it to output "siht"
可能重複:
C++ Reverse Array反轉字符數組
我可如何扭轉一個字符數組?就像這樣:
char word1[10] = "this";
char word2[10] = word1[10] // in reverse
cout<<word2; // I want it to output "siht"
怎麼樣一個簡單的循環(因爲我不知道的word1
和word2
的確切類型)?
for (int i = 0, k = 9; i < 10; i++, k--) {
word2[k] = word1[i];
}
我強烈建議你使用std::string
而不是char
。有關如何在std::string
這裏執行此操作的很多答案。
std::string word1 = "this";
std::string word2 = word1;
std::reverse(word2.begin(), word2.end());
std::cout << word2;
使用字符串反轉函數來執行相同的操作。
我斗膽類似如下:
word1
到word2
,使用std::copy
std::reverse
與WORD2開始到結束現在word2
包含反向,不能不知道類型就說更多。
如果word1和word2是char數組,則不會。如果改爲word1和word2是某種容量爲10的對象,則可以覆蓋賦值運算符。
int main(int, char**) {
std::string word1 = "beef";
std::string word2(word1.rbegin(), word1.rend());
std::cout << word2;
}
std::reverse_copy(word1, word1+10, word2);
字類型是什麼陣列? – XAder 2011-01-10 13:10:21
你正在使用什麼語言? – Badr 2011-01-10 13:12:18
@moon:標籤暗示C++;) – jwueller 2011-01-10 13:13:25