Utolsó módosítás: 2009. február 26.
A C nyelvet nagyon jól írja le Kernighan – Richie A C programozási nyelv című könyve (Műszaki Kiadó, második kiadás), ezért az info 2 tárgy elsajátításához mindenképpen ajánlom. Sajnos az eredeti angol nyelvű könyv (eredeti címe The C Programming Language) nehezebben megszerezhető, mint a magyar fordítás, és a magyar fordításban maradt néhány hiba (nyilván a kézi szedés miatt). Ezen az oldalon ezért röviden felsorolom az értelmet leginkább zavaró hibákat, amiket a könyvben találtam. Én csak a 2003-as és 2004-es kék borítójú kiadásokat néztem, lehetséges, hogy a hibák nagy részét a 2006-os, fehér borítójú változatban már kijavították.
long
típusú egészek legalább 32
bitet tárolnak.
OXFUL
”
helyett „0XFUL
” kéne.
==
” jel közepén egy szóköz
van, aminek nem szabadna ott lennie.
~
”
operátort három példa helytelenül bináris
operátorként használja, mégpedig „x = x ~ 077
”,
„x ~ 077
”, illetve
„x ~ 0177700
”.
(Az első csak a 2003-as kiadásban hibás.) Az angol
eredetiben ezek
helyesen szerepelnek:
„x = x & ~077
”, „x & ~077
”, illetve
„x & 0177700
”.
(Az utolsóban nem is szerepel a „~
” művelet.) Ráadásul a
két utóbbi kifejezést összehasonlító mondat értelme is megfordult,
valójában azt
kéne állítania, hogy az „x & ~077
” írásmód előnyösebb az „x & 0177700
”
műveletnél, mivel bármilyen gépi szóhossz esetén ugyanúgy csak az
utolsó hat bitet kapcsolja ki.
->
”
és „.
” operátorok közül hiányzik az elválasztó szóköz, a „,
” operátort
pedig a táblázat következő sorába kéne rakni. A 2003-as kiadásban még
rosszabb a helyzet: itt mind a „.
”, mind a „,
” operátor hiányzik a
táblázatból.
continue
” után.
*cs = '\n';
”
helyett „*cs = '\0';
” kéne, a kód így hibás.
Remélem, hogy a könyvkiadó előbb vagy utóbb az interneten nyilvánosságra hoz egy pontosabb és teljesebb hibajegyzéket.