为什么我的代码不接受不包含字符 az AZ 0-9 的字符串?如果要对此进行加密以转移例如“aaaaa [[[[[[””,我会收到错误消息。我想要代码,以便它也可以接受空格或任何内容,并跳过那些不是 az、AZ、0-9 的代码。
为什么我的最后一个 else 语句不起作用?
例如:
"a a" shift 1
应该
"b b"
我的代码:
#include <stdio.h>
int main (){
char word[20];
int rotx;
printf("enter string\n");
scanf("%s", word);
printf("enter rotations\n");
scanf("%d", &rotx);
encrypt(word, rotx);
return 0;
}
void encrypt (char word[], int rotx){
int w = strlen(word) - 1;
int i = 0;
for ( ; i <= w; i++)
if ((word[i] + rotx) >= 65 && (word[i] + rotx) <=90)
{
word[i] += (rotx);
}
else if ((word[i] + rotx) >= 97 && (word[i] + rotx) <=122)
{
word[i] += (rotx);
}
else if ((word[i] + rotx) >= 48 && (word[i] +rotx) <= 57)
{
word[i] += (rotx);
}
else if ((word[i] + rotx) > 90 && (word[i]+rotx) <97)
{
word[i] = 64 + (rotx - (90-word[i]));
}
else if ((word[i] + rotx) > 122)
{
word[i] = 96 + (rotx - (122-word[i]));
}
else
{
continue;
}
}