Rechenaufgabe mit zeiger und scanf

canyakan95

Bekanntes Mitglied
hallo ich habe versucht meine größe in m zu berechnen dabei wollte ich scanf und zeiger verwenden ...
kriege es aber nicht hin ..hoffe könnt mir weiterhelfen..
und ist das erste mal das ich mit zeigern arbeite.

Mein code:
void groesse()
{
int groesse_cm;
printf(" Wie groß bist du in cm?");
scanf("%d",&groesse_cm);
float *groesse_m = groesse_cm/100;
printf("Du bist %f groß", *groesse_m);
}
 

Dompteur

Top Contributor
Die Zeile:
C:
float *groesse_m = groesse_cm/100;
enthält einen Fehler. Du weist einem Pointer einen berechneten Wert zu.
Entweder verzichtest du an dieser Stelle auf Pointer und schreibst einfach:
C:
float groesse_m = groesse_cm/100;
Oder du brauchst eine Speicherstelle, deren Adresse du dir holst.
C:
float groesse_m;
float * pGroesse_m = &groesse_m;

Wenn du Pointer verwendest, dann musst du immer auch dafür sorgen, dass sie auf einen gültigen Speicherbereich zeigen.
 

InfectedBytes

Top Contributor
zudem ist groesse_cm ein int und die zahl 100 ebenfalls, daher wird hier nur integer division durchgeführt. Daher solltest du hier einfach durch 100f teilen.
 

Ähnliche Java Themen

Neue Themen


Oben