Systemnahe Programmierung in C: Mischen von Operanden mit unterschiedlichen Typen
Mischen von Operanden mit unterschiedlichen Typen
char
und
int
stdio.h
extern
int
getchar
(
void
)
;
#define
EOF
(
-
1
)
Programmstück
{
char
c
;
while
(
(
c
=
getchar
(
)
)
!=
EOF
)
{
...
}
}
Problem
Das Programm läuft auf drei unterschiedlichen Systemen
Auf einem vierten System führt dieses Codestück zu einer Endlosschleife
Alle vier Systeme sind byte-adressierte 32-Bit-Architekturen
?
Wo liegt der Fehler und welche Korrektur ist notwendig?
Letzte Änderung: 09.11.2010
©
Prof. Dr. Uwe Schmidt