Ошибка в Visual Studio 2015 - C (СИ)
Формулировка задачи:
Здравствуйте. Я только учусь и пользуюсь Visual Studio 2015. Почему-то у меня не получается работать в нем с переменными типа char.
Вот пример с шифром Цезаря:
После ввода текста вылетает ошибка и открывается файл stdio.h.
Код я проверял несколько раз, пробовал даже с обычным вводом/выводом одного символа, ничего не работает.
Буду благодарен за помощь.
#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;
}Решение задачи: «Ошибка в Visual Studio 2015»
textual
Листинг программы
printf("Здравствуйте, введите ваше сообщение:\n");
scanf_s("%s", a, 100);
printf("\nВведите количество знаков для переноса:\n");
scanf_s("%d", &n, 1);
Объяснение кода листинга программы
- Программа приветствует пользователя и запрашивает ввести сообщение с помощью функции scanf_s.
- Введенное сообщение сохраняется в переменной a.
- Программа запрашивает у пользователя ввести количество знаков для переноса с помощью функции scanf_s.
- Введенное количество знаков для переноса сохраняется в переменной n.