我的凯撒密码遇到了意想不到的问题。凯撒是通过将每个字母移动 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;
}
}
}
我最后通过做那个数学来结束。你能帮我看看有什么问题吗?
编辑:这段代码很好,问题在于命令行参数的处理。