#include
using namespace std;
int main() {
string a; //宣告變數(字串)
while(getline(cin, a)){
for(int x = 0;x < a.length();x++){
cout<<char(a[x]-7); //將變數字元碼應題目要求轉換成新字元並輸出
}
cout<<endl;
}
return 0;
}
cout<<char(a[x]-7); //將變數字元碼應題目要求轉換成新字元並輸出
很好奇為什麼可以這樣寫
#include
using namespace std;
int main() {
string a; //宣告變數(字串)
while(getline(cin, a)){
for(int x = 0;x < a.length();x++){
cout<<char(a[x]-7); //將變數字元碼應題目要求轉換成新字元並輸出
}
cout<<endl;
}
return 0;
}
cout<<char(a[x]-7); //將變數字元碼應題目要求轉換成新字元並輸出
很好奇為什麼可以這樣寫
a[x] 得到的是 char,例如 'a', 'Z'...等等
這些字元在儲存時是以ascii code編碼來儲存的,如果拿來做運算的話也是以ascii code的編碼來做運算
像是('1' + 7),就會是 (49+7) = 56 , 對應字元 '8';
另外 有時候空間限制比較緊的時候,也會用char來做運算 (因為char只佔1位元組)