Drogi Czytelniku! Poniżej zamieszczona jest errata do książki:
"Język C. Nowoczesne programowanie. Wydanie II"
Jest to lista błędów znalezionych po opublikowaniu książki, zgłoszonych i zaakceptowanych przez naszą redakcję. Pragniemy, aby nasze publikacje były wiarygodne i spełniały Twoje oczekiwania. Zapoznaj się z poniższą listą. Jeśli masz dodatkowe zastrzeżenia, możesz je zgłosić pod adresem: helion.pl/user/erraty
Strona | Linia | Jest | Powinno | Zgłaszający |
---|---|---|---|---|
1 | 1 | test {} | - | |
32 | 13 | języka C+ | języka C++ | - |
37 | 25 | P: | P: | Grzegorz Szpetkowski |
55 | 3 od końca | została pogrubiona | została podkreślona | Arkadiusz Chrapusta |
55 | 5 | dobra praktyka każde nadać im nazwy | dobra praktyka nakazuje nadać im nazwy | Grzegorz Szpetkowski |
64 | 12 | 1.2x2 | 1.5x2 | Arkadiusz Chrapusta |
66 | 31 | trzeba dwukrotnie pomnożyć | trzeba trzykrotnie pomnożyć | Arkadiusz Chrapusta |
71 | 27 | specyfikator %4d dla wartości 123 | specyfikator %-4d dla wartości 123 | Arkadiusz Chrapusta |
73 | 20 od dołu | 10 znaków, z trzema cyframi po przecinku. W naszym przypadku | 10 znaków. W naszym przypadku | - |
85 | 9 | (b + c) | Drugi z operandów zawiera znak operatora dodawania, natomiast powinien w tym znaleźć się znak operatora mnożenia. | Grzegorz Szpetkowski |
86 | 18 od dołu | / + jako operator jednoargumentowy (negacja) / | / - jako operator jednoargumentowy (negacja) / | - |
93 | 9 od dołu | oblicza resztę z dzielenia v przez e i zapisuje wynik v | oblicza resztę z dzielenia v przez e i zapisuje wynik w v | - |
96 | 15 od dołu | możemy łatwo samodzielnie uzupełnić pogrupować wyrażenie | możemy łatwo samodzielnie uzupełnić i pogrupować wyrażenie | - |
97 | 18 od końca | czy może (c -d) | czy może (c - d) | Grzegorz Szpetkowski |
108 | 13 | relacji <, >, i , z tym że użyte w wyrażeniach dają | relacji <, >, <= i >=, z tym że użyte w wyrażeniach dają | - |
113 | 2 | max =i; | max = i; | Grzegorz Szpetkowski |
122 | 22 | W przy etykiecie case może znajdować się tylko jedno | Przy etykiecie case może znajdować się tylko jedno | - |
122 | 24 od dołu | W przy etykiecie case | Przy etykiecie case | Grzegorz Szpetkowski |
138 | 16 | } while (i > 0) | } while (i > 0); | - |
141 | 17 | Odliczanie w dol od n - 1 do 0:
for (i = n - 1; i >= 0; i++) ... Odliczanie w dol od n do 1 for (i = n; i > 0; i++) ... |
Odliczanie w dol od n - 1 do 0:
for (i = n - 1; i >= 0; i--) ... Odliczanie w dol od n do 1 for (i = n; i > 0; i--) ... |
Jacek Kałasz |
141 | 5 od dołu | wyrażenia inkrementacji. Taka pętla ta jest równoważna pętli | wyrażenia inkrementacji. Taka pętla jest równoważna pętli | - |
146 | 17 od dołu | Po zakończeniu pętli możemy w instrukcji for sprawdzić | Po zakończeniu pętli możemy w instrukcji if sprawdzić | - |
152 | 15 od dołu | Wywołanie printf znajduje się poza funkcją if, zostanie więc wykonane | Wywołanie printf znajduje się poza instrukcją if, zostanie więc wykonane | - |
165 | 7 | 2x8^2 + 2x8^1 + 7x8^0 = 159 | 2x8^2 + 3x8^1 + 7x8^0 = 159 | Michał Dardas |
173 | 17 | czy tylko wartości nieujemne, jest dla nas nieistotny. | czy tylko wartości nieujemne, jest dla nas nieistotne. | - |
186 | 8 | zinterpretuje jako: | zostanie zinterpretowany jako: | - |
189 | 9 od dołu | Taką wartość można wypisać za pomocą konwersji %ld: | Taką wartość można wypisać za pomocą konwersji %lu: | - |
193 | 9 | największa wartość typu short int (65 535) jest większa | największa wartość typu unsigned short int (65 535) jest większa | - |
196 | Ćwiczenie 6 | Przed ćwiczeniem znajduje się symbol W oznaczający, że rozwiązanie ćwiczenia jest na stronie internetowej autora - http://knking.com/books/c2/answers/c7.html | Nie powinno być tam tego symbolu ponieważ rozwiązanie ćwiczenia 6 nie znajduje się na stronie autora. | - |
207 | 2 od dołu | Dzięki temu, jeśli później zmienimy rozmiar tablicy, wystarczy zmienić makrodefinicję, a obie pętle automatycznie dostosują się do nowego rozmiaru. | Dzięki temu, jeśli później zmienimy rozmiar tablicy, obie pętle automatycznie dostosują się do nowego rozmiaru. | - |
212 | 10 od dołu | Tablica in_hands jest tablicą dwuwymiarową, ale | Tablica in_hand jest tablicą dwuwymiarową, ale | - |
219 | 19 od dołu | (godziny są reprezentowane jako wartości całkowite, w sekundach od północy dane doby). | (godziny są reprezentowane jako wartości całkowite, w minutach od północy danej doby). | - |
250 | 2 | w niniejszej książce pojęcie algorytm występuje niekiedy również w znaczeniu parametru. | w niniejszej książce pojęcie argument występuje niekiedy również w znaczeniu parametru. | - |
255 | 17 | (liczbę pomiędzy 1 a 266) dla dnia określonego | (liczbę pomiędzy 1 a 366) dla dnia określonego | - |
255 | 20 | liczbę pomiędzy 1 a 266 | liczbę pomiędzy 1 a 366 | Jacek Kałasz |
281 | 12 od końca. | as, jeden, dwa, trzy, cztery | as, dwa, trzy, cztery, pięć | Jacek Kałasz |
281 | 4 od dołu | i operatorów wyrażenia od prawej do lewej strony z wykonaniem następujących | i operatorów wyrażenia od lewej do prawej strony z wykonaniem następujących | - |
315 | 18 | Na przykład poniższy kod skompiluje się poprawnie tylko wtedy, kiedy m i n będą równe: | Na przykład poniższy kod skompiluje się, ale będzie poprawny tylko wtedy, kiedy m i n będą równe: | - |
317 | 13 | tablicę rejestrują nie tyko typ wskaźnika, ale również | tablicę rejestrują nie tylko typ wskaźnika, ale również | - |
319 | 2 od dołu | 15. Napisz pętlę wypisującą wszystkie wartości z tablicy | W 15. Napisz pętlę wypisującą wszystkie wartości z tablicy | - |
339 | 13 od dołu | Funkcja strcat w nagłówku <string.h> jest reprezentowana przez | Funkcja strcmp w nagłówku <string.h> jest reprezentowana przez | - |
339 | 4 od dołu | A żeby sprawdzić, czy str1 jest większy od ciągu str2 albo mu równy, użyjemy wywołania | A żeby sprawdzić, czy str1 jest mniejszy od ciągu str2 albo mu równy, użyjemy wywołania | - |
341 | 15 od dołu | W programie zastosowano metodę polegającą na wczytaniu numeru dnia funkcją sprintf, a potem wypisaniu | W programie zastosowano metodę polegającą na wczytaniu numeru dnia funkcją scanf, a potem wypisaniu | - |
346 | 5 od dołu (rysunek) | Wiersz: |a|b|c|d|e| |(tu wskazuje p)| | Wiersz: |a|b|c|d|e|f|(tu wskazuje p)| | - |
355 | 2 od dołu | W systemach z graficznymi interfejsem użytkownika uruchamia | W systemach z graficznym interfejsem użytkownika uruchamia | - |
370 | 18 od dołu | kompilator wstawi ciąg rozwinięcia, zamieniając w nim odwołania do parametrów | preprocesor wstawi ciąg rozwinięcia, zamieniając w nim odwołania do parametrów | - |
375 | 4 | Po omówieniu makrodefinicji prostych sparametryzowanych możemy | Po omówieniu makrodefinicji prostych i sparametryzowanych możemy | - |
376 | 15 | Rozwinięcie w makrodefinicji jest najczęściej naszpikowany nawiasami. | Rozwinięcie w makrodefinicji jest najczęściej naszpikowane nawiasami. | - |
381 | 14 | __STDC_IEC_599_COMPLEX__ jest zdefiniowana jako stała liczbowa | __STDC_ISO_10646__ jest zdefiniowana jako stała liczbowa | - |
384 | 18 | #define DEBUG 0 | #define DEBUG 1 | - |
391 | 3 | a nie w pliku generowanym automatycznie przez kompilator). | a nie w pliku generowanym automatycznie przez kompilator. | - |
393 | 14 od dołu | jest rozwijane do postaci CONCAT(aCONCAT(b,c). Dalej nie da się | jest rozwijane do postaci aCONCAT(b,c). Dalej nie da się | - |
394 | 2 od dołu | czy __FILE__, otrzymują błąd kompilacji. | czy __FILE__, otrzymuję błąd kompilacji. | - |
394 | 7 od dołu | standardowa może posiadać makrodefinicje funkcje o pokrywających się nazwach. | standardowa może posiadać makrodefinicje i funkcje o pokrywających się nazwach. | - |
396 | 8 | Do tego niesparowany nawias pojedynczy albo podwójny wewnątrz bloku #if-#endif może spowodować niezdefiniowane zachowanie. | Do tego niesparowany cudzysłów pojedynczy albo podwójny wewnątrz bloku #if-#endif może spowodować niezdefiniowane zachowanie. | - |
403 | 20 | "plików źródłowych" wyłącznie w odniesieniu do plików .h. | "plików źródłowych" wyłącznie w odniesieniu do plików .c. | - |
406 | 20 od dołu | Same argumenty nie zostaną natomiast automatycznie skonwertowane do typów "standardowych" w ramach | Same argumenty zostaną natomiast automatycznie skonwertowane do typów "standardowych" w ramach | - |
416 | 16 od dołu | Wywołanie w read_word funkcji zamiast getchar rozwiązuje problem | Wywołanie w read_word funkcji read_char zamiast getchar rozwiązuje problem | - |
432 | 14 od dołu | Zazwyczaj nie trzeba tak szczegółowo rozrysowywać struktur. Będziemy raczej ilustrować je w uproszczeniu, jako szereg "pudełek" (patrz trzeci rysunek na następnej stronie). | Czasem ten szereg będziemy przedstawiać poziomo zamiast w pionie (patrz trzeci rysunek na następnej stronie). | - |
449 | 6 | Spacja w ciągu formatującym jest tu kluczowa - bez niech funkcja scanf wczytywałaby | Spacja w ciągu formatującym jest tu kluczowa - bez niej funkcja scanf wczytywałaby | - |
455 | 6 od dołu | odpowiednio zmienić wartość składowej KIND przypominającej | odpowiednio zmienić wartość składowej kind przypominającej | - |
477 | 4 | Przydział pamięci dla ciągu znaków za pomocą funkcji malloc | Przydział pamięci dla tablicy za pomocą funkcji malloc | - |
504 | 14 | a następnie zmodyfikować wskazywaną liczbę całkowitą za pośrednictwem p: | a następnie zmodyfikować wskazywaną liczbę całkowitą za pośrednictwem q: | - |
512 | 14 | jeśli tak, funkcja ma wypisać komunikat o błędzie i zakończyć działanie, a jeśli wskaźnik z | jeśli tak, funkcja ma wypisać komunikat o błędzie i zakończyć działanie programu, a jeśli wskaźnik z | - |
513 | 22 | Czy jeśli x jest strukturą, a a jest składową tej struktury, to wyrażenie (&)->a jest tożsame | Czy jeśli x jest strukturą, a a jest składową tej struktury, to wyrażenie (&x)->a jest tożsame | - |
518 | 29 | identyfikatory uzupełniane nawiasami [] (nazwy zmiennych) | identyfikatory uzupełniane nawiasami [] (nazwy zmiennych tablicowych) | - |
520 | 7 od dołu | możemy je modyfikować za pomocą jawnego określania klasy przydziału zmiennej słowami auto, static, external i register. | możemy je modyfikować za pomocą jawnego określania klasy przydziału zmiennej słowami auto, static, extern i register. | - |
524 | 21 | ma pewien związek ze słowem restricted wprowadzonym w C99. | ma pewien związek ze słowem restrict wprowadzonym w C99. | - |
534 | 1 | (w C argumenty przekazywane przez wartość) | (w C argumenty są przekazywane przez wartość) | - |
574 | 17 od dołu | Operatorom ~, &, ^ i | odpowiadają operatory przypisań złożonych ~=, &=, ^= i |=: | Operatorom &, ^ i | odpowiadają operatory przypisań złożonych &=, ^= i |=: | - |
574 | 5 | oprócz pięciu bitów z prawej strony, napiszemy ~x1f. | oprócz pięciu bitów z prawej strony, napiszemy ~0x1f. | - |
582 | 3 | przykłady takich zastosowań analizowaliśmy choćby w podrozdziale 6.4 - ale w języku C | przykłady takich zastosowań analizowaliśmy choćby w podrozdziale 16.4 - ale w języku C | - |
819 | 9 | 2 - Inkrementacja (przyrostkowa) - ++ - prawostronna
2 - Dekrementacja (przyrostkowa) - -- - prawostronna |
2 - Inkrementacja (przedrostkowa) - ++ - prawostronna
2 - Dekrementacja (przedrostkowa) - -- - prawostronna |
- |
Poniżej znajduje się lista błędów znalezionych przez czytelników, ale jeszcze nie potwierdzonych przez Redakcję:
Strona | Linia | Jest | Powinno | Zgłaszający |
---|---|---|---|---|
31 | 11 | ISE/IEC | ISO/IEC | Grzegorz Szpetkowski |
31 | 15 | W 1999 roku język został ponownie nieco zmodyfikowany | W 1995 roku język został ponownie nieco zmodyfikowany | Grzegorz Szpetkowski |
31 | 15 | W 1999 roku język został ponownie nieco zmodyfikowany | W 1995 roku język został ponownie nieco zmodyfikowany | - |
32 | 13 | język C+ obejmuje | język C++ obejmuje | Grzegorz Szpetkowski |
58 | Tabela 2.1. ostatni wiersz | regster | register | Grzegorz Szpetkowski |
62 | Pierwsza odpowiedź, ostatni wiersz | dcc | gcc | Grzegorz Szpetkowski |
69 | 9 od końca | printf(ciąg-formatujący, wyrażenie1, wyrażenie1, ...); | printf(ciąg-formatujący, wyrażenie1, wyrażenie2, ...); | Grzegorz Szpetkowski |
76 | 21 od dołu | 1
-20 .3 |
Jedynka figurująca w pierwszym wierszu powinna zostać poprzedzona dwoma znakami spacji, tak aby była "na wysokości" zera (zgodnie z widniejącym niżej w tekście ciągiem strumienia danych) | Grzegorz Szpetkowski |
83 | 2 i 9 od od dołu | GSI | GS1 | Grzegorz Szpetkowski |
85 | 7 | przy czym operatory same w sobie są również wyrażeniami | przy czym operandy same w sobie są również wyrażeniami | Grzegorz Szpetkowski |
97 | 1 od dołu | w rodzaju "operacja na ′a′ może być niezdefiniowana". | w rodzaju "operacja na ′b′ może być niezdefiniowana". | - |
104 | 6 do 3 od końca | Wskazówka: Aby zamienić liczbę na reprezentację ósemkową, należy podzielić ją przez osiem. Wynik to pierwsza cyfra zapisu ósemkowego (tutaj: 1). Resztę z dzielenia należy znów podzielić przez osiem i powtarzać proces tak długo, jak długo reszta będzie większa od 8. Ostatnia cyfra to reszta z ostatniego dzielenia | Wskazówka: Aby zamienić liczbę na reprezentację ósemkową, należy podzielić ją przez osiem. Reszta z dzielenia to ostatnia cyfra zapisu ósemkowego (tutaj: 1). Wynik dzielenia należy znów podzielić przez osiem i powtarzać proces tak długo, jak długo będzie większy od 0. Pierwsza cyfra zapisu ósemkowego to reszta z ostatniego dzielenia | Grzegorz Szpetkowski |
109 | 5-6 od końca | to 0, 1 albo 2 w zależności od tego, czy i jest mniejsze, równe, czy większej od j | to 0, 1 albo 2 w zależności od tego, czy i jest odpowiednio mniejsze, większe, czy równe j | Grzegorz Szpetkowski |
118 | 7 | Wyrażenia warunkowe i > j ? i : j w pierwszym przypisaniu | Wyrażenie warunkowe i > j ? i : j w pierwszym przypisaniu | - |
124 | 10-11 od końca | printf("Enter date (mm/dd/yy)");
scanf("%d /%d /%d", &month, &day, &year); |
printf("Podaj datę (dd/mm/yy)");
scanf("%d /%d /%d", &day, &month, &year); |
Grzegorz Szpetkowski |
124 | 17 | dzień.miesiąc.rok | dzień/miesiąc/rok | Grzegorz Szpetkowski |
125 | 8 | printf(", 20%.2d r.\n", year); | printf(" 20%.2d r.\n", year); | Grzegorz Szpetkowski |
130 | 12 | brak tekstu | kod do zadania nr 10 | Zenon Raubuć |
130 | 9 | fragment kodu | Tomasz Bojarski | |
130 | Ćwiczenie 10 | [Treść ćwiczenia] | [Treść ćwiczenia + fragment kodu]
Brak dodatkowej treści zadania. |
- |
132 | 5 | przylot o 3.00 pm | przylot o 3:00 pm | Grzegorz Szpetkowski |
134 | 11 | tak dlugo, jak dlugo wyrazenie osiaga wartosc niezerowa. | tak dlugo, jak dlugo wyrazenie osiaga wartosc zerowa. | Tomasz Bojarski |
138 | 20 | obliczenie wyrażenia sterującego i > 10. | obliczenie wyrażenia sterującego i > 0. | Grzegorz Szpetkowski |
146 | 19 od dołu | kolejne liczby pomiędzy 1 i n - 1 | kolejne liczby pomiędzy 2 i n - 1 | Grzegorz Szpetkowski |
151 | 1 od dołu | / puste ciało pętli / | / puste ciało pętli / ; | Grzegorz Szpetkowski |
159 | 5 | W zadaniu programistycznym nr 10 z rozdziału 5 | W zadaniu programistycznym nr 9 z rozdziału 5 | Grzegorz Szpetkowski |
163 | Tabela 7.1 | short int 32768 32767 | short int -32768 32767 | - |
164 | 17 | a zakres typu unsigned long long int to liczby od 0 do 2^64 | a zakres typu unsigned long long int to liczby od 0 do 2^64 - 1 | - |
165 | 12 | mogą zawierać cyfry z przedziału 0 do 9 i liter od a do f | mogą zawierać cyfry z przedziału 0 do 9 i litery od a do f | - |
165 | 17 | to po prostu inne postaci zapisu | to po prostu inne postacie zapisu | Grzegorz Szpetkowski |
185 | 2 | odpowiadający typowi operandu bez znaku | odpowiadający typowi operandu ze znakiem | Grzegorz Szpetkowski |
189 | 11 | kompilator zawczasu określa wartość | kompilator zazwyczaj zawczasu określa wartość | Grzegorz Szpetkowski |
189 | 9 od dołu | za pomocą konwersji %ld: | za pomocą konwersji %lu: | Grzegorz Szpetkowski |
190 | 4 od dołu | reprezentuje liczbę 1,6872 | reprezentuje liczbę 1,6875 | Grzegorz Szpetkowski |
196 | Ćwiczenia 5-14 | Brakujące prawidłowe zadanie nr 5 | W miejsce zadania nr 5 powinno się znaleźć zadanie dot. gry SCRABBLE. Obecne ćwiczenia 5-14 powinny otrzymać numerację 6-15. Literką W wg nowej numeracji objęte są zadania 5 i 6. | Grzegorz Szpetkowski |
211 | 10 | 5d As 2h | 5d as 2h | Grzegorz Szpetkowski |
217 | 5 od dołu | Przerób program repdigit.c z podrozdziału tak, aby wyświetlał | Przerób program repdigit.c z podrozdziału 8.1 tak, aby wyświetlał | - |
218 | 13 od dołu | wynik średni, maksymalny i maksymalny dla całej grupy. | wynik średni, maksymalny i minimalny dla całej grupy. | - |
218 | ćwiczenie 6, linie 11, 14 | S13M4 | 513M4 | Grzegorz Szpetkowski |
218 | zadanie 8 | dla całej grupy | dla każdego z zadań (kolumn) | Grzegorz Szpetkowski |
221 | 5 | Rozmiar musi się mieścić w przedziale od 1 do 99. | Rozmiar musi być liczbą nieparzystą z przedziału od 1 do 99. | Grzegorz Szpetkowski |
226 | 5 od dołu | i przy każdym wywołaniu print_count ma inną wartość, dlatego | i przy każdym wywołaniu print_count argument "i" ma inną wartość, dlatego | - |
226 | listing countdown.c | minus %d do T,odliczanie | minus %d do T, odliczanie | Grzegorz Szpetkowski |
235 | 23 | Ponieważ funkcja square oczekuje argumentu typu double, a w wywołaniu otrzyma wartość typu int, efekt | Ponieważ funkcja square oczekuje argumentu typu int, a w wywołaniu otrzyma wartość typu double, efekt | - |
239 | 16 | "to podpowiedź dla kompilatora, żeby wstawił tu wartość poprzedniego parametru:" | "to podpowiedź dla kompilatora, że długość tablicy jest powiązana z poprzednimi parametrami:" | Grzegorz Szpetkowski |
240 | 1 | Okazuje się, że parametry tablicowe tablice o zmiennym rozmiarze | Okazuje się, że parametry tablicowe o zmiennym rozmiarze | - |
241 | 15 | pięć wartości całkowitych 2, 0, 3, 4, 1 | pięć wartości całkowitych 3, 0, 3, 4, 1 | Grzegorz Szpetkowski |
242 | 10 i 12 | i >= 0 ? n : 0 | n >= 0 ? n : 0 | Grzegorz Szpetkowski |
242 | 11 | instrukcje return w takiej postaci:
return i >= 0 ? n : 0; Kiedy program będzie wykonywał tę instrukcję, najpierw obliczy wartość wyrażenia i >= 0 ? n : 0. Powyższa instrukcja |
instrukcje return w takiej postaci:
return n >= 0 ? n : 0; Kiedy program będzie wykonywał tę instrukcję, najpierw obliczy wartość wyrażenia n >= 0 ? n : 0. Powyższa instrukcja |
- |
246 | 15 od dołu | podobnie prawy zakres, który będzie posortowany po zakończeniu kroku nr 2. | podobnie prawy zakres, który będzie posortowany po zakończeniu kroku nr 3. | - |
257 | ćwiczenie 17 | Podrozdział 9.6 | Podrozdział 9.6 powinien być umieszczony na wysokości ćwiczenia 16. | Grzegorz Szpetkowski |
259 | 5 | (x+^n/2)^2 | (x^n/2)^2 | Grzegorz Szpetkowski |
282 | 14 od dołu | cyframi i segmentami, oraz digits, z trzema wierszami (każdy segment ma wysokość 3 wierszy terminala), i MAX_DIGITS 4, z kolumnami (segment ma 3 wiersze terminala szerokości, ale | cyframi i segmentami, oraz digits, z czterema wierszami (każdy segment ma wysokość 4 wierszy terminala), i MAX_DIGITS 4 kolumnami (segment ma 3 kolumny terminala szerokości, ale | - |
308 | 5 | a (a + 1) to równoważnik a[1] | a (a + i) to równoważnik a[i] | Grzegorz Szpetkowski |
315 | 18 | poprawność przypisania p = n | poprawność przypisania p = a | Grzegorz Szpetkowski |
315 | 9 | jest zależny od rozmiaru każdego z wymiarów tablicy | jest zależny od rozmiaru każdego z wymiarów tablicy za wyjątkiem pierwszego z nich | Grzegorz Szpetkowski |
320 | 19 | 1. (a) Napisz program, który wczytuje wiadomość, a potem | W 1. (a) Napisz program, który wczytuje wiadomość, a potem | - |
321 | 2 | zadania programistycznego nr 14 w rozdziale 8 | zadania programistycznego nr 13 w rozdziale 8 | Grzegorz Szpetkowski |
324 | 12 od dołu | ale już literał "\xcfber" (nieudana próba zapisu | ale już literał "\xfcber" (nieudana próba zapisu | - |
337 | 12-13 od końca | argument określający maksymalną liczbę znaków do zapisania | argument określający liczbę znaków do zapisania
(dodanie przypisu tłumacza odnośnie faktu, iż znaki "nadmiarowe" występujące za znakiem pustym mają wartości znaku pustego) |
Grzegorz Szpetkowski |
339 | 10 od końca | porównuje ciągi str1 i str2 | porównuje ciągi s1 i s2 | Grzegorz Szpetkowski |
339 | 12 | Niestety, str1 mieści tylko 6 znaków, nie pomieści więc ani znaku f, ani znaku pustego, przez co funkcja strcat zapisze te znaki poza pamięcią przydzieloną | Niestety, str1 mieści tylko 6 znaków, nie pomieści więc znaku pustego, przez co funkcja strcat zapisze go poza pamięcią przydzieloną | - |
341 | 14 i 16 | Movie
.. film |
kino
.. kino |
Grzegorz Szpetkowski |
342 | 14 | No space left | Brak miejsca | Grzegorz Szpetkowski |
342 | 7 od końca | printf(" %s\n") | printf(" %s\n") | Grzegorz Szpetkowski |
357 | 13 | (a) Przerób funkcję | (b) Przerób funkcję | Grzegorz Szpetkowski |
360 | 16 | 5 kier | pięć kier | Grzegorz Szpetkowski |
367 | 1-2 | dowolną liczbą znaków odstępu, zarówno z poziomie, jak i w pionie. | dowolną liczbą znaków spacji oraz tabulacji poziomej. | Grzegorz Szpetkowski |
369 | 1 | makrodefinicji, każda sobie, są niebezpieczne | makrodefinicji, każda w sobie, są niebezpieczne | - |
371 | 16 | że funkcja getchar jest często implementowana równocześnie jako makrodefinicja i jako funkcja). | że funkcja getchar jest często implementowana jako makrodefinicja lub jako funkcja). | - |
374 | 2 | aby złożyły się w jeden identyfikator | aby złożyły się w jeden element leksykalny | Grzegorz Szpetkowski |
379 | Tabe;a 14.1, wiersz 3 | w formacie "Mmm dd yyy" | w formacie "Mmm dd yyyy" | Grzegorz Szpetkowski |
394 | 2 od dołu | otrzymują | otrzymuję | Grzegorz Szpetkowski |
397 | 12 od dołu | 2x^5+... | 3x^5+... | Grzegorz Szpetkowski |
401 | 3 od dołu | przede wszystkimi definicje | przede wszystkim definicje | Grzegorz Szpetkowski |
402 | 13 od dołu | make_emtpy | make_empty | Grzegorz Szpetkowski |
403 | 10 | w miejscu wystąpienia dyrektyw | w miejscu wystąpienia dyrektywy | Grzegorz Szpetkowski |
403 | 3 od dołu | przede wszystkimi | przede wszystkim | Grzegorz Szpetkowski |
411 | 13 | więc preprocesor przekaże do kompilacji wiersze pomiędzy #ifndef i #ifdef. Ale kiedy plik | więc preprocesor przekaże do kompilacji wiersze pomiędzy #ifndef i #endif. Ale kiedy plik | - |
411 | 8 od dołu | wymaga kompilatora | wymaga kompilatora\ | Grzegorz Szpetkowski |
412 | 2 | (ogólniejsze omówienie zagadnienia projektowania programów pojawią się w rozdziale | (ogólniejsze omówienie zagadnienia projektowania programów pojawi się w rozdziale | - |
413 | 17 | "Wypełnienie" oznacza tu, że będziemy dopisywać wyrazy do wiersza dopóty, dopóki dopisanie kolejnego wiersza nie spowoduje przepełnienia wiersza. | "Wypełnienie" oznacza tu, że będziemy dopisywać wyrazy do wiersza dopóty, dopóki dopisanie kolejnego wyrazu nie spowoduje przepełnienia wiersza. | - |
416 | 19 | Otóż po wywołaniu read_word przekazywany jest argument nakazujący | Otóż w wywołaniu read_word przekazywany jest argument nakazujący | - |
419 | 5 | za drugim trzy | za drugim dwie | Grzegorz Szpetkowski |
436 | 15-16 | na bazie tego samego "opisu struktury" | na bazie tego samego "znacznika struktury" (ang. structure tag) | Grzegorz Szpetkowski |
436 | 5 | przypisaniu mamy się zdziwić | przypisaniu możemy się zdziwić | Grzegorz Szpetkowski |
465 | 9 | nie jest liczą | nie jest liczbą | Grzegorz Szpetkowski |
467 | 7 | typu Square z punktu (a) | typu Square z punktu (b) | Grzegorz Szpetkowski |
492 | listing inventory2.c wiersz 1 | (wersja tablicowa) | (wersja listowa) | Grzegorz Szpetkowski |
495 | 2 | if (i != NULL) | if (p != NULL) | Grzegorz Szpetkowski |
504 | 14 | a następnie zmodyfikować wskazywaną liczbę całkowitą za pośrednictwem p: | a następnie zmodyfikować wskazywaną liczbę całkowitą za pośrednictwem q: | - |
508 | 9 od dołu | Stosowanie NULL w roli pustego wskaźnika zadziała co prawda z wieloma | Stosowanie NULL w roli pustego znaku zadziała co prawda z wieloma | - |
518 | 20 od dołu | (np. struct point {int x,y; } czy struct {int x, y; }). | (np. struct point {int x,y; }, struct {int x, y; } czy struct point). | - |
542 | 18 od dołu | (b) f jest funkcją z dwoma argumentami wywołania: p, który jest wskaźnikiem do struktury o znaczniku t, i n, która jest wartością typu long. | (b) f jest funkcją z dwoma argumentami wywołania: p, który jest wskaźnikiem do struktury o znaczniku t, i n, która jest wartością typu long. Funkcja f zwraca wskaźnik do funkcji, która nie przyjmuje argumentów i nie zwraca żadnej wartości. | - |
566 | 16 | w wielu nowszych językach programowania, jak C==, Java czy C#. | w wielu nowszych językach programowania, jak C++, Java czy C#. | - |
575 | 2,3 | Załóżmy, że zamierzamy ustawić w i bit numer 4 (powiedzmy, że bit znajdujący się na skrajnej prawej pozycji - bit najbardziej znaczący - ma numer 15, a bit znajdujący się na skrajnej lewej pozycji - bit najmniej znaczący - ma numer 0. | Załóżmy, że zamierzamy ustawić w i bit numer 4 (powiedzmy, że bit znajdujący się na skrajnej lewej pozycji - bit najbardziej znaczący - ma numer 15, a bit znajdujący się na skrajnej prawej pozycji - bit najmniej znaczący - ma numer 0. | Marek Sirdak |
619 | 20 | wypisuje sformatowane dane do strumienia stdout (standardowego strumienia wejściowego) | wypisuje sformatowane dane do strumienia stdout (standardowego strumienia wyjściowego) | Dawid Stoga |
639 | 10 od końca | Obie funkcje zwracają wartość drugiego argumentu, wskazującego do tablicy | Obie funkcje zwracają wartość pierwszego argumentu, wskazującego do tablicy | Dawid Stoga |
640 | 14 od dołu | Funkcja fread wczytuje elementy z tablicy do strumienia | Funkcja fread wczytuje elementy z tablicy ze strumienia | Dawid Stoga |