0.字符串定義
C語言char類型
// char define str
char str[] = "hello";
int len = strlen(str);
char str_rev[len+1];
C++ string類型
//string define str
string str = "hello";
int len = str.size();
string str_rev;
1 使用C語言cstring自帶的翻轉函數
#include<cstring>
#include<stdio.h>
......
// char define str
char str[] = "hello"; //會自動在字符串末尾加'\0'
int len = strlen(str);
char str_rev[len+1];
// use strrev() in cstring
strrev(str);
printf("%s", str_rev);
2 循環賦值
2.reverse directly
for(int i=0; i<len; i++){
// str_rev[len-i-1] = str[i]; //C
str_rev.push_back(str[len-i-1]); //C++
}
3 使用棧 (c++ stack)
stack<char> str_stack;
for(int i=0; i<len; i++){
str_stack.push(str[i]);
}
for(int i=0; i<len; i++){
str_rev[i] = str_stack.top();
str_stack.pop();
}
輸出
cout<< str_rev<<endl;
// printf 不能打印c++ string
printf("%s", str_rev);