2017-09-28 6 views
-2

私は実際に2つの質問がありますC++でchar変数を定義するときに一重引用符または二重引用符を使用しますか?

私はXOR操作を使ってC++で暗号化をしようとしています。私は任意の2つの文字を暗号化するとき私は?暗号化された文字としてそれはなぜですか?

ここに私のコードXoring aとbのサンプルがあります。

あなた印刷可能でない出力文字(および32である「スペース」の下に、それらのほとんどがある)あなたは、あなたがそれを行う場所に応じ疑問符や四角形を取得している
#include<iostream> 
using std::cout; 
using std::cin; 
int main() 
{ 
    char x='a'; 
    char y='b'; 
    char d=x^y; 
    cout<<"a xor b = "<<d<<"\n"; 
    return 0; 
} 
+2

[良い本](https://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and)を読んでみてください。 -リスト)。また 'char x =" a ";'は無効なので、あなたの(最初の)質問は疑問です。 – Rakete1111

+3

あなたは1つの質問(どの引用符を使用するか)を聞いているようですが、本当に別の質問をしたいのですが(なぜ2人の人物が私が望む結果を得られないのですか)実際の質問を明確にするためにあなたの質問を検討してください。 – Tas

+0

このプログラムではどんなアウトプットを期待しましたか? –

答えて

3

。 XORの整数値を確認するには、d(int)dに置き換えてください。

+0

または単純に[' COUT << + D '](HTTPS ://stackoverflow.com/q/14644716/995714) –

+0

スペースは必ずしも32ではありません。最終的なフロンティアに加えて、実際の値は使用されている文字エンコーディングによって異なります。 – user4581301

+0

@ user4581301実際にはスペースはロケールに依存しますが、現在の例では誰もstd :: setlocale()という名前を持たないので、デフォルトのASCIIはスペース32と制御文字0-31の古典ASCIIです。 –

関連する問題