Не понятна работа цикла for c указателями. - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Помогите разобраться со следующей прогой:
#include <stdio.h> 
void main(){ 
char s[]="Удалить пробелы и табуляции из строки"; 
char *ss, /* указатель строки-источника */ 
       *sd; /* указатель строки-приемника */ 
printf("было: %s\n",s);
 for( ss=sd=s; *sd=*ss; ss++ ) 
   if(!( *ss==' ' || *ss=='\t' )) sd++;
printf("стало: %s\n",s); }/* main */
Не могу понять как она работает (не понятна работа цикла for, в результате которой убираются пробелы). Также не понятно, почему если запускаю в борланд си 5 версии она работает, а если в 3, то результат пустая строка???

Решение задачи: «Не понятна работа цикла for c указателями.»

textual
Листинг программы
ss=sd=s;
do {
  if(!( *ss==' ' || *ss=='\t' ))  *sd++ = *ss;
} while (*ss++);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4 из 5
Похожие ответы