Я хотел бы отметить, что цикл может быть написан так, чтобы сделать его более ясным, что происходит и улучшить читаемость:
for(s = string; *s == ' ';)
s++;
Или используя цикл while:
s = string;
while(*s == ' ')
s++;
Но я думаю, что первый подход с пустым телом более "с-идиоматичен" (и труднее читать).