Как поставить точку после strrev()?
Я переворачиваю слово, мне нужно поставить после него точку, то есть если Ввод: Один Вывод: нидО. Я пробовал писать strcat(s, "."), но появляется ошибка, помогите поставить точку в конце перевернутого слова (на skolkoslov не обращайте внимания, оттуда при вводе 1 слова всегда будет возвращаться 0)
int skolkoslov(char s[]) {
char v[1000];
int t = 0, i = 0, d, n = 1, a = 0, g = 0;//сначала считать слова, потом условие
for (i = 0; i < strlen(s) - 1; i++) { // подсчёт слов
if ((((65 <= s[i]) && (s[i] <= 90)) || ((97 <= s[i]) && (s[i] <= 122))) || (('а' <= s[i]) && (s[i] <= 'я')) || (('A' <= s[i]) && (s[i] <= 'Я'))) {
if ((((65 <= s[i + 1]) && (s[i + 1] <= 90)) || ((97 <= s[i + 1]) && (s[i + 1] <= 122))) || (('а' <= s[i + 1]) && (s[i + 1] <= 'я')) || (('A' <= s[i + 1]) && (s[i + 1] <= 'Я'))) {// Ищем длину слова
d = 0;
}
else {
t++;//если 1 слово, то здесь 1
}
}
}
return t;
}
void slovo(char s[]) {
_strrev(s);
strcat_s(s, ".");
puts(s);
}
void main() {
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
char s[1000];
printf("Введите строку: ");
gets_s(s);
if (skolkoslov(s) == 0) {
slovo(s);
}
}
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Или замените strcat_s на просто strcat, или указывайте допустимый размер массива, типа,
strcat_s(s,1000, ".");