Программа должна удалять пробелы в начале и в конце строки. В функции она выполняет свою работу, но при возврате в мейн, она ломается.
#include <stdio.h>
#include <stdlib.h>
int size(const char str[])
{
int i = 0;
while(str[i] != '\0')
{
i++;
}
return i;
}
void mutableStrip(char str[])
{
int start = 0;
while(str[start] == ' ')
{
start++;
}
int n = size(str);
int end = 0;
while(str[(n-1) - end] == ' ')
{
end++;
}
str[n-end] = '\0';
str += start;
printf("0%s1 \n", str);
}
int main()
{
char str[] = " ads fh ";
mutableStrip(str);
printf("0%s1 \n", str);
return 0;
}
вывод:
0ads fh1
0 ads fh1
Добавил 0 и 1, чтобы было видно где начало строки, а где конец.
Почему-то в меине появляются пробелы, хотя в функции их нет.