Program wyświetlający napis w dziwny sposób

0
#include <iostream>
using namespace std;

void WyswietlPomijajacSpacje( const char *Napis )
{
for (; *Napis && (*Napis == ' '); Napis++);
cout << Napis << endl;
}

int main( )
{
  WyswietlPomijajacSpacje("       ILe jeszcze  piwa ");
  return 0;
} 

ż
Dlaczego program wyswietla sam napis "ILe jeszcze piwa" rzeczywiscie bez spacji na początku napisu ?
Przeciez w pętli for warunek jest spełniony już na samym początku gdy wskaźnik napis pokazuje na pierwszą spację, więc w tym momencie powinien być wypisany ten tekst jako " ILe ...... " .

Druga sprawa , kiedy zmodyfikuję program tak :

....
WyswietlPomijajacSpacje("ILe jeszcze  piwa ");//bez spacji w napisie 

to działanie programu jest identyczne jak poprzednio. Czy nie powinno byc tak że gdy warunek w pętli for już na początku nie jest spełniony ( pierwszy znak to I a nie spacja ), więc następuje koniec pętli i nic nie zostaje wyświetlone ??

2
cout << Napis << endl;

To nie jest wew. petli.

1 użytkowników online, w tym zalogowanych: 0, gości: 1