Итак, я пытаюсь создать код, который будет работать как шифр. Слово будет использоваться для шифрования в качестве ввода и вывода (печати) кодированного слова. Проблема c моего кода - это для l oop.
#include <stdio.h>
#include <ctype.h>
#include <string.h>
int main(void)
{
char input[] = "hello";
printf("hello\n");
printf("ciphertext: ");
for (int i = 0; i < 5; i++)
{
if(isalpha(input[i]))
{
int current = input[i];
int cypher = ((current + 1) % 26 )+current;
char out = (char)cypher;
printf("%c", out);
}
else
{
printf("%c", input[i]);
}
}
printf("\n");
}
Проблема, с которой я сталкиваюсь при отладке, заключается в том, что значение, которое в конечном итоге сохраняется в "out", кажется правильным, однако, когда дело доходит до его печати, он показывает совсем другое. Я действительно просмотрел довольно много вещей, которые нашел здесь, например, написал код как таковой:
char out = (char)cypher;
char out= cypher + '0';
и так далее, но безрезультатно. Вывод должен быть ifmmp, но я получаю j ~ rrx
Все, что угодно, поможет! спасибо :)