嗨我在嘗試使用指針進行加密和解密字符串時被卡住了。我需要將字母加1。 例如:你好會是Ifmmp。而且我還需要消除其他字符,如$%^^。所以當字符串是'z'+1會給我'a' 這是我的代碼。使用指針移位+1來加密和解密字符串
char *cipher(char *s) {
int i =0;
int shift = 1;
while(*(s+i)!= '\0') {
if (*(s+i)) {
*(s+i)+= (shift);
}
i++;
}
}
char *decipher(char *s) {
int i =0;
int shift = -1;
while(*(s+i)!= '\0') {
if (*(s+i) +shift) {
*(s+i)+= (shift);
}
i++;
}
}
我的電流輸出爲: 到加密:abcxyz - > bcdyz { 破譯:bcdyz { - > abcxyz
感謝
我敢肯定,'如果(*(S + I)+ SHIFT> = 65 &&(*(S + I)+ =移<= 90))'不會做你想要什麼。注意'*(s + i)+ = ...'。 – mch
謝謝,解決了這個問題。你有什麼想法,我可以消除其他字符,如!@#$? @mch – skylight
看看http://man7.org/linux/man-pages/man3/isalpha.3.html – mch