Я пытаюсь написать функцию левого дифферента на C. Может кто-нибудь пожалуйста, выяснить, что это ошибка, которую я делаюфункция LTRIM в C
int main()
{
char string2[]=" wind";
ltrim(string2);
int new_len2=strlen(string2);
printf("After trim String2 is <%s>\nLength is %d\n",string2,new_len2);
return 0;
}
void ltrim(char *string)
{
int i=0;
while(string[i]==' ')
{
i++;
string=string+i;
}
printf("inside function string is <%s>---length is %d\n",string,strlen(string));
}
выход:
inside function string is <wind>---length is 4
After trim String2 is < wind>
Length is 7
Почему строку не изменяется в основной функции после обрезки.
Подсказка: проверьте, где строки строки2 после запуска вашей функции. – Nit
Верните 'string' из' ltrim' и напечатайте его с 'main'. И 'string = string + i;' должно быть 'string ++;' или 'string = string + 1;'. –