Не понятна работа цикла for c указателями. - C (СИ)
Формулировка задачи:
Помогите разобраться со следующей прогой:
Не могу понять как она работает (не понятна работа цикла for, в результате которой убираются пробелы). Также не понятно, почему если запускаю в борланд си 5 версии она работает, а если в 3, то результат пустая строка???
#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 c указателями.»
textual
Листинг программы
ss=sd=s;
do {
if(!( *ss==' ' || *ss=='\t' )) *sd++ = *ss;
} while (*ss++);