85
ZOBACZ TEŻ
Przyjmuje ona jako argument ciąg znaków, w których niektóre instruują funkcję, by pobrała argument i go wypisała. Nie przejmuj się jeżeli nie rozumiesz wyrażeń * format i ++f ormat. Istotne jest to, że pętla sprawdza po kolei wszystkie znaki formatu.
C ma wiele niuansów, o których wielu programistów nie wie lub łatwo o nich zapomina:
• jeśli nie podamy typu wartości zwracanej w funkcji, zostanie przyjęty typ int (według najnowszego stawianiu C99 nie |x>danie typu wartości jest zwracane jako błąd);
• jeśli nie podamy żadnych parametrów funkcji, to funkcja ł>ędzie używała zmiennej ilości parametrów (inaczej niż w C++, gdzie przyjęte zostanie, że funkcja nie przyjmuje argumentów). Aby wymusić pastą listę argumentów, należy napisać int funkcja (void) (dotyczy to jedynie prototypów czy deklaracji funkcji);
• jeśli nie użyjemy w funkcji instrukcji return, wartość zwracana będzie przypadkowa (dostaniemy śmieci z pamięci).
Kompilator C++ użyty do kompilacji kodu C najczęściej zaprotestuje i ostrzeże nas, jeśli użyjemy powyższych konstrukcji. Natomiast czysty kompilator C z domyślnymi ustawieniami nie napisze nic i bez mrugnięcia okiem skompiluje taki kod.
• C++/Funkcje inline funkcje rozwijane w miejscu wywoływania (dostępne też w standardzie C99).