Ошибка в 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»

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

Объяснение кода листинга программы

  1. Программа приветствует пользователя и запрашивает ввести сообщение с помощью функции scanf_s.
  2. Введенное сообщение сохраняется в переменной a.
  3. Программа запрашивает у пользователя ввести количество знаков для переноса с помощью функции scanf_s.
  4. Введенное количество знаков для переноса сохраняется в переменной n.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.077 из 5
Похожие ответы