Ошибка в Visual Studio 2015 - C (СИ)

Формулировка задачи:

Здравствуйте. Я только учусь и пользуюсь Visual Studio 2015. Почему-то у меня не получается работать в нем с переменными типа char. Вот пример с шифром Цезаря:
#include "stdafx.h"
 
int main()
{
    system("chcp 1251");
    system("cls");
    char a[100];
    int i, n;
 
    printf("Здравствуйте, введите ваше сообщение:\n");
    scanf_s("%s", a);
    printf("\nВведите количество знаков для переноса:\n");
    scanf_s("%d", &n);
 
    if (n > 26)
        n = n % 26;
 
    for (i = 0; a[i] != '\0'; i++)
    {
        if (a[i] > (122 - n))
            a[i] = a[i] + n - 26;
        else
            a[i] = a[i] + n;
    }
    printf("Зашифрованный текст: %s", a);
 
    _getch();
    return 0;
}
После ввода текста вылетает ошибка и открывается файл stdio.h. Код я проверял несколько раз, пробовал даже с обычным вводом/выводом одного символа, ничего не работает. Буду благодарен за помощь.

Код к задаче: «Ошибка в Visual Studio 2015 - C (СИ)»

textual
    printf("Здравствуйте, введите ваше сообщение:\n");
    scanf_s("%s", a, 100);
    printf("\nВведите количество знаков для переноса:\n");
    scanf_s("%d", &n, 1);

13   голосов, оценка 4.077 из 5


СОХРАНИТЬ ССЫЛКУ