#22383: 將變數字元碼應題目要求轉換成新字元並輸出 //C++


dick930924@gmail.com (諾亞)


#include <iostream>

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;

}

#24561: Re:將變數字元碼應題目要求轉換成新字元並輸出 //C++


james84215200@gmail.com (吳宥駿)


#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); //將變數字元碼應題目要求轉換成新字元並輸出

很好奇為什麼可以這樣寫

#24563: Re:將變數字元碼應題目要求轉換成新字元並輸出 //C++


jam930725@gmail.com (浮沉沉沉沉沉沉沉沉)


#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位元組)