在CS50的第2周,我碰壁了。我的代码应该提示用户输入明文,然后在下一行打印一个简单的密码。问题是,我的代码不断为用户打印确切的输入而不是加扰。我的代码如下。
注意:我的代码中的错误很可能在for循环中,在各自的printf函数中。
#include <stdio.h>
#include <cs50.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
int main (int argc, string argv[]){
if (argc != 2){
printf("You must enter two arguments, the second being a single digit integer!\n");
return 1;
}
int key = atoi(argv[1]);
printf("What do you want to encrpyt?");
string s = get_string();
for(int i=0; i < strlen(s); i++){
if (isupper(s[i])==true){
printf("%c",((s[i] + key)));
}
if (islower(s[i])==true){
printf("%c",s[i] + key);
}
else {
printf("%c",s[i]);
}
}
}
答案 0 :(得分:0)
修正了它。 if语句语法错误,因此程序正在跳过密码文本。我需要删除if语句中的“== true”。