Напишите функцию reverse(s) размещающую символы в строке s в обратном порядке - C (СИ)
Формулировка задачи:
Не компилируется выдает ошибку которую я понять не могу:
#include <stdio.h>
#define MAXLINE 10000
#define STR 10
int getstr(char line[], int maxline);
char rev (char);
main()
{
int len;
char line [MAXLINE]; // текущая строка
while ((len = getstr(line, MAXLINE)) > 0)
if (len > STR){
for (int i = 0; i < MAXLINE; i++){
if (line[i] == '\t'){
line[i] = ' ';
--i;
}
if ((line[i] == ' ') && (line[i+1] == ' ')){
for (int j = i; j < MAXLINE; j++)
line[j] = line[j+1];
i--;
}
rev(line);
}
printf ("%s \n", line);
}
return 0;
}
void rev(char mass[])
{
int i, j;
int temp;
for (j = 0; mass[j] != '\0'; ++j) /* Получаем размер массива */
;
for (i = 0; i < j; ++i)
{
temp = mass[i];
mass[i] = mass[j - 1];
mass[j - 1] = temp;
--j;
}
}
int getstr (char s[], int lim)
{
int c ,i;
for (i = 0; i < lim-1 && (c = getchar()) != EOF && c != '\n'; ++i )
s[i] = c;
if(c == '\n'){
s[i] = c;
++i;
}
s[i] = '\0';
return i;
}Решение задачи: «Напишите функцию reverse(s) размещающую символы в строке s в обратном порядке»
textual
Листинг программы
void rev (char mass[]); // или void rev (char *);