int main(void) { int x; scanf("x=%d\n\r", x); /* 1 */ x = 1 + licz(x); /* 2 */ printf("New x is %d", x); /* 3 */ } W powyższym przykładzie mamy w kolejnych liniach kodu źródłowego następujące wywołania w wyrażeniach: wywołanie standardowej funkcji scanf w instrukcji wyrażeniowej, wyrażenie składa się wyłącznie z wywołania tej funkcji, wywołanie niestandardowej funkcji licz w instrukcji wyrażeniowej, wyrażenie składa się z operacji przypisania, dodawania i wywołania tej funkcji, wywołanie standardowej funkcji printf w instrukcji wyrażeniowej, wyrażenie składa się wyłącznie z wywołania tej funkcji.
Szczegóły implementacje Różny sposób implementacji wywołania podprogramu w różnych systemach programowania skutkować może ich niezgodnością i brakiem możliwości programowania hybrydowego. Przykładem takiej niezgodności są różne konwencje zastosowanie dla języka C i Pascal, które dla uzyskania odpowiedniej zgodności wymuszają stosowanie dodatkowych modyfikatorów, powodujących zmianę sposobu kompilacji podprogramu, umożliwiającą zastosowanie podprogramu w innym systemie programowania. Za przykład mogą posłużyć kompilatory firmy Borland serii Turbo, w tym Turbo C i Turbo Pascal.