Hallo,
kann mir bitte jemand sagen, an welcher Stelle mein Fehler liegt?
Ich muss hinschreiben was folgendes Programm ausgibt:
#include
int main(void)
{
int zahl, neuzahl;
int *zptr, *neuptr;
zahl = 100;
zptr = &zahl;
neuptr = zptr;
neuzahl = *neuptr;
printf("*zptr = %d\n", *zptr);
/* *zptr = _____________________________ */
printf(„neuzahl = %d\n“, neuzahl);
/* neuzahl = __________________________ */
*neuptr = 25;
neuptr = &neuzahl;
*neuptr = 15;
printf(„zahl = %d\n“, zahl);
/* zahl = ______________________________ */
printf(„neuzahl = %d\n“, neuzahl);
/* neuzahl = ___________________________ */
neuzahl = *zptr + 20;
*zptr = neuzahl;
*zptr += 30;
printf(„zahl = %d\n“, zahl);
/* zahl = ______________________________ */
printf(„neuzahl = %d\n“, neuzahl);
/* neuzahl = ___________________________ */
return (0);
}
erste Ausgabe: (100), da zptr gleich zahl, und zahl gleich 100 ist.
zweite Ausgabe: (100), neuzahl -> neuptr -> zptr -> zahl -> 100
dritte ausgabe: (auch 100), da zahl->100 (ist aber falsch, muss (25) rauskommen, aber warum?
vierte: (25 oder 15), da neuzahl -> neuptr -> (25 oder 15)
Die restlichen zwei Ausgaben sind bei mir auch falsch.
/* richtige Loesung:
100
100
25
15
75
45
*/
Danke,
MfG,
Alexander