私はCS50xクラスをやっていて、グリッチで立ち往生しています。私は彼らに何が起こっているのか尋ねましたが、誰も何が起こっているのかわかりませんでした。
小文字のfを印刷しようとすると、常に?として表示されます。引数およびabcdefghijklmnopqrstuvwxyz
入力として23を実行してみてください。それはめちゃくちゃです。コードは次のとおりです。
#include <stdio.h>
#include <stdlib.h>
#include <cs50.h>
#include <string.h>
#include <ctype.h>
int main (int argc, string argv[]){
if(argc !=2){
return 1;
}
string x = GetString();
int key = atoi(argv[1]);
for(int a = 0, n = strlen(x); a < n; a++){
char i = key + x[a];
if(islower(x[a])){
if(i > 122){
i = (i-122) + 96;
}
}
if(isupper(x[a])){
if(i > 90){
i = (i-90) + 64;
}
}
printf("%c", i);
}
printf("\n");
return 0;
}