これは簡単なコードですが、私は奇妙な出来事を理解できません。 コード: It works:奇妙なcharの暗号化(ascii)
void Crittografia::CifraTesto(char text[]){
int i;
for (i=0;i<strlen(text);i++){
text[i]=text[i] + key;
if(text[i] > 'z'){
text[i]=text[i] - 26;
}
}
}
機能は、ここで入力した文字列を受け取ります。
この場合、キー5で動作します。 'y'が 'd'で正しく変更されました。
ただし、この場合:Doesn't workです。
キーが7の場合、正しい 'f'の代わりに 'Ç'の 'y'が変更されるため、「text [i] = text [i] - 26;」という行は明らかに実行されません。
あなたは、コンソールウィンドウからテキストをコピーする方法を学ぶ必要があります。 Windowsオペレーティングシステムでは、タイトルバーを右クリックし、「編集」 - >「マーク」を選択します。マウスを使用して、コピーする領域を強調表示し、Enterを押します。強調表示されたテキストがクリップボードに配置され、質問に貼り付けることができます。 –
[ASCIIテーブルリファレンス](http://en.cppreference.com/w/c/language/ascii)が良いスタートになるかもしれません。その理由を知ることができます。 'someCharacteer - 26'はあまりいい考えではないかもしれません。 –
Cに '::'はありませんので、あなたの質問は 'C'でもありません。 –