#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 ??