Tamanho de retornar o tamanho incorreto da matriz [duplicado]

Duplicata Possível:
Tamanho de uma matriz na linguagem de programação C?

Eu tenho trabalhado com C para me familiarizar melhor com ele e acho que talvez tenha me deparado com um problema de inicialização / ponteiro que não tenho certeza de como resolver. O programa abaixo é uma implementação do ROT13, então ele pega uma string de entrada e desloca cada letra por 13, resultando no texto cifrado. A saída do meu programa exibe o turno correto, mas não funciona por mais de 4 caracteres, o que me faz pensar se sizeof está sendo usado incorretamente. Qualquer outra sugestão é apreciada, tenho certeza que já estraguei algumas coisas neste momento.

#include <stdio.h>
#include <string.h>

void encrypt(char *);

int main(void){

    char input[] = "fascs";
    encrypt(input);

    return 0;
}

void encrypt(char *input){

    char alphabet[] = "abcdefghijklmnopqrstuvwxyz";

    printf("Input: %s \n", input);

    int inputCount = sizeof(input);

    printf("Characters in Input: %i \n\n", inputCount);

    //holds encrypted text
    char encryptedOutput[inputCount];

    //Initialize counters
    int i, j = 0;

    // loop through alphabet array, if input=current letter, shift 13 mod(26),
    // push result to output array, encryptedOutput
    for(i = 0; i < inputCount; i++){
        for(j = 0; j < 26; j++){
            if(input[i] == alphabet[j]){
                encryptedOutput[i] = alphabet[(j + 13) % 26];
            }
        }
    }

    //Nul Termination for printing purposes
    encryptedOutput[i] = '\0';

    printf("Rot 13: %s \n\n", encryptedOutput);

}

questionAnswers(4)

yourAnswerToTheQuestion