#include <stdio.h>
#include <cs50.h>
#include <ctype.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, string argv[])
{
if(argc!=2)
{
printf("One more string \n");
}
string key = argv[1];
else if(!isalpha(key))
{
printf("Prompt only alphabet letters\n");
}
else
{
string p = GetString();
for (i=0, j=0, n=strlen(p); i<p; i++, j++)
{
if(j>=stlrlen(p))
{
j=0;
}
if(isupper(p[i]))
{
printf("%c", ((p[i] +key[j])%26)+'A');
}
if(islower(p[i]))
{
printf("%c", ((p[i] + key[j])%26)+'a');
}
if(!isupper(p[i]) && !islower(p[i]))
{
printf("%c", p[i]);
}
printf("\n");
return 0;
}
}
}
Что случилось с моим кодом? CS50 Appliance приносит мне 1 ошибкуКод шифрования Vigenere в C
c:15:1 expected expression.
В моем коде есть смысл? Может кто-нибудь мне помочь? Когда я просто удаляю else, если блок кода, он приносит мне ту же ошибку в else.
Первый 'else' не имеет соответствующего' if'. Вы хотели бы включить 'string key = argv [1];' в один из блоков? – nnn
У вас не может быть кода вне области действия if или else между if-else –