Сергей
Гений
(59259)
2 года назад
Это не ошибка - это предупреждение. При выходе за пределы массива программа может как работать, так и крашнуться, если произойдет попытка чтения/записи в защищенной области.
А если и работает, вы можете изменить свои-же данные и получите непредсказуемое поведение.
#include <iostream>
#include <string.h>
#include <conio.h>
using namespace std;
int main()
{
setlocale(LC_ALL, "RUSSIAN");
char str[100];
char str2[100];
int y=0;
int kol = 0;
int s1;
int s2;
cout << "Введите текст"<<"\n";
cin.get(str, 100);
s1 = strlen(str);
str2[0] = str[0];
for(int i=0; i< s1; i++)
{
if (str[i + 1] == 0) {
y++;
str2[y] = str[i];
}
else {
if (str[i] == ' ' && str[i-1] != ' ') \\ ошибка C6385
{
y++;
str2[y] = str[i - 1];
y++;
str2[y] = str[i + 1];
}
}
}
s2 = strlen(str2);
cout<<endl << s2 << endl;
for (int i = 0; i < strlen(str2); i++)
{
if (str2[i] == str2[i + 1]) {
i++;
kol++;
}
}
cout << endl << kol;
system("pause");
return 0;
}