Есть такой код:
#include "stdafx.h"
#include <iostream>
#include <windows.h>
#include <string>
using namespace std;
int main()
{
char str[101];
char tmp[101];
char sym[3];
int n;
cin >> n;
cin.ignore(100, '\n');
gets_s(sym, 4);
int k;
int max = 0;
int lensym = strlen(sym);
for (int i = 0; i < n; i++) {
gets_s(str, 102);
int lenstr = strlen(str);
k = 0;
for (int j = 0; j < lenstr-1; j++)
for (int l = 0; l < lensym-1; l++) if (str[j] == sym[l]) k++;
if (k > max) {
max = k;
strcpy_s(tmp, str);
}
}
puts(tmp);
system("pause");
return 0;
}
После вывода ответа выдаёт ошибку:
Run-Time Check Failure #2 - Stack around the variable 'str' was corrupted.
Где проблема со строкой str?
Вы зачем обманываете систему, и при вызове gets_s()
говорите ей, что у Вас массивы на 1 символ больше их реального размера?
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть два прямоугольника сторони, которого паралельни к осям и они пересекаютсяНам известно:
Использую эту функцию в консольном приложении, все ок, если использую в оконном приложении появляется ошибка: идентификатор не найденwindows