0
当我使用数字4-22时,输出不可靠,我不知道为什么。帮助将不胜感激,我也想知道为什么这不起作用。谁能告诉我我的凯撒算法有什么问题?
#include<cs50.h>
#include<stdio.h>
#include<string.h>
int main(void)
{
int shifts;
int enc;
printf("What is your message ");
string message = get_string();
printf("By how many letters do you want to shift?");
scanf("%d",&shifts);
for(int i=0;i<strlen(message);i++)
{
enc=((message[i] - 89)+shifts)%26;
printf("%c",enc + 89);
}
printf("\n");
}
数字'89'似乎是错误的。另外,您应该分开处理小写和大写。 – nglee
使用字符常量,而不是像'89'这样的幻数, –
另外,代码中有内存泄漏。 –