这是我的功能:
// Helper function for cipher()
void cipherc(char& c, int key)
{
if (isupper(c)) {
c -= 'A';
} else {
c -= 'a';
}
c += key;
c %= MAX_KEY;
if (isupper(c)) {
c += 'A';
} else {
c += 'a';
}
}
我设计它是为了支持大写字母,我认为这会起作用。显然我不知道我在做什么。如果有人可以向我展示更好的方法来做到这一点或解决这个问题,那就太好了。我想(希望)保持函数相同,采用 char&
和 int
并返回 void
。
最佳答案
尝试这样的代码:
char d = isupper(c) ? 'A' : 'a';
c -= d;
c += key;
c %= MAX_KEY;
c += d;
关于c++ - 我的 cipher() 函数似乎不支持大写字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19416371/