Caesar'c暗号で予期しない問題に直面しています。Caesarは、すべての文字をn個シフトしてテキストを暗号化する場合です。したがって、1の場合、abcはbcdになります。私はCでそれを行うプログラムに取り組んでいますが、それは正しいはずですが、一部の文字、通常の文字では奇妙に動作します。問題の構文は次のとおりです。
for (int i = 0; i < strlen(text); i++)
{
if (text[i] != ' ')
{
// printf("\n%i\n", key);
text[i] = text[i] + key;
if (text[i] > 122)
{
text[i] = text[i] + 97 - 122;
}
}
}
私は最後にその数学を行うことによってラップアラウンドします。何が悪いのか手伝ってくれませんか。
編集:このコードは問題ありません。問題はコマンドラインパラメータの処理にあります。