Cでcasear暗号を使用してメッセージを暗号化しようとしていますが、メッセージに「z」という文字が見つかりました。文字 'a'( - = 25)でも、文字 'a'には戻りません。文字 'b'に戻ります。どんなコメントも高く評価されます。ここに私のコード.........casear暗号化の暗号化で 'z'から 'a'に戻る方法
void casear_cipher(char *message);
int main()
{
char message[] = "Todayzzz is Tuesday";
printf("Original Message is : '%s'\n", message);
casear_cipher(message);
printf("Encrypted Message is: '%s'\n", message);
}
void casear_cipher(char *message)
{
int i;
int message_length = strlen(message);
for(i = 0; i<message_length; i++)
{
if(message[i] == 'z' || message[i] == 'Z')
{
message[i] -= 25; //<-------------------------Problem is here
}
if((message[i] >= 'a' && message[i] <= 'z') || (message[i] >= 'A' && message[i] <= 'Z'))
{
message[i] += KEY;
}
}
}
'ctypes.h' – Olaf
@Olafで快適になってください。 OPの問題を解決するとは思えませんが、一般的には良いアドバイスです。 –
@MadPhysicist:コメントは回答できません。 – Olaf