Here is my code. Please help me where am I wrong? 

Firstly I'm including next libraries:

    #include <stdio.h>
    #include <cs50.h>
    #include <string.h>
    #include <stdlib.h> //for converting argv to int
    #include <ctype.h> //for isalpha function
    
    
    int main (int argc, string argv[])  
    {
        if (argc != 2)
        {
            printf("missing the key\n");
            return 1;
        }
        
        char* key = argv[1];
        
        if (!isalpha(key[0]))
        {
            printf("key should be the alphabetical\n");
            return 1;
        }
        
        char* s = GetString();
        int j;
    
        for (j = 0; j < strlen(s); j++) //qty of chars in string
                {
                    j = j % strlen(key); //to loop the key word through string
                }
        
        if (s != NULL)
        {
            for (int i = 0; i < strlen(s); i++) 
                {
                    if (isalpha(s[i])) //if chars are alphabet
                    {
                        if (islower (s[i])) //if alpabet chars is lowerc
                        {
                             if (s[i] + key[j] > 122)
                             {
                                 s[i] = s[i] - 26;
                             }
                        printf("%c", s[i] + key[j]);
                        }
                    
                        else if (isupper (s[i])) //if alpabet chars is uppercase
                        {
                             if (s[i] + key[j] > 90)
                             {
                                 s[i] = s[i] - 26;
                             }
                        printf("%c", s[i] + key[j]);
                        }
                    }
                    else
                    {
                        printf("%c", s[i]);
                    }
                }
            printf("\n");  
        }
        return 0;
    }