Я понятия не имею, почему этот C код не работает. Все работает до тех пор, пока операторы if в l oop. Вопрос в основном состоит в том, чтобы использовать шифрование Цезаря для печати зашифрованного текста.
. Я загрузил снимок экрана с проблемой. Я использую CS50 IDE на GitHub.
#include <cs50.h>
#include <stdio.h>
#include <ctype.h>
#include <string.h>
int main(int argc, char* argv[])
{
if( argc == 2 )
{
printf("Success");
printf("\n");
}
else
{
printf("Usage: ./caesar key");
return 1;
}
char pt[100];
char ct[100];
int key = (int)(argv);
/*(if(key < 0)
{
printf("Integer input only");
return 1;
}*/
printf("plaintext: ");
get_string("%s",pt);
for (int i=0, n=strlen(pt);i<n;i++)
{
printf ("#");
if (islower(pt[i]))
{
ct[i] = (((( pt[i] + key )) - 97) % 26) + 97;
}
else if (isupper(pt[i]))
{
ct[i] = (((( pt[i] + key )) - 65) % 26) + 65;
}
else
{
ct[i] = pt[i];
}
}
for (int x=0, n = strlen(ct);x<n;x++)
printf("ciphertext: %c \n",ct[x]);
return 0;
}