Dlaczego program nie printuje funkcji?

0

Hej. Przerabiam ksiazke S.Praty "Jezyk C. Szkola programowania". Przerabiajac jedno z zadan chcialem zrobic je na dwa sposoby. Chodzilo mniej wiecej o to, by wyprinotwac przy pomocy funkcji napis "Usmiech!" 3x, w kolejnej linijce 2x, w ostatniej 1x.

#include <stdio.h>
void usmiech(void);

int main(void)
{
usmiech();
    usmiech();
    usmiech();
    printf("\n");
    usmiech();
    usmiech();
    printf("\n");
    usmiech();
    printf("\n");
 return 0;
}

void usmiech(void)
{
    printf("Usmiech!");
}

Chcialem zrobic to z uzyciem "for". Napisalem cos takiego:

#include <stdio.h>
void usmiech2(void);
void usmiech3(void);
void usmiech4(void);

int main(void)
{
    usmiech2();
    usmiech3();
    usmiech4();
    return 0;
}

void usmiech2(void)
{
    for(int i = 0; i <= 3, i++;)
    {
        printf("Usmiech!");
    }
}

void usmiech3(void)
{
    for(int i = 0; i <= 2, i++;)
    {
        printf("Usmiech!");
    }
}

void usmiech4(void)
{
    for(int i = 0; i <= 1, i++;)
    {
        printf("Usmiech!\n");
    }
}

Ta druga opcja sie kompiluje (Visual Studio Code / Linux Ubuntu 18.04), nie wyrzuca bledu, ale w terminalu nic mi sie nie wyswietla (tj. zaden wynik programu). Dlaczego tak jest?

2

Obczaj średniki i przecinki w pętlach for.
Generalnie, możesz oddzielić przecinkiem wyrażenia, przez co kompilator się nie rzuca. Oprócz tego po i++ dałeś też średnik więc składniowo wszystko gra.

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