core dump

Schnelle objektorientierte, kompilierende Programmiersprache.
Antworten
hardcoding
Beiträge: 91
Registriert: Do Okt 04, 2012 9:24 pm

core dump

Beitrag von hardcoding » Di Apr 16, 2013 8:38 pm

Hallo,

Ich habe mich anscheinend zu sehr an C++ gewoehnt,sodass ich bei C mit den Scanfs gar nicht mehr durchblicke. :(

Er gibt als Meldung:

segmentation fault(core dump)

Ich greife auf ein geschuetzten Speicherbereich. Wie soll ich das aber mit den Scanfs beheben?


Code: Alles auswählen

#include<stdio.h>

struct gleit
{

    float glei1,glei2;

};

main()
{

    struct gleit *berechnen;

    scanf("%e",&berechnen->glei1);
    fflush(stdin);
    scanf("%e",&berechnen->glei2);
    fflush(stdin);
 
    printf("Erste Gleitpunktzahl ist: %e",berechnen->glei1);
    printf("Zweite Gleitpunktzahl ist: %e",berechnen->glei2);
 
    return 0;
 
}
 
Danke im voraus

hardcoding
Beiträge: 91
Registriert: Do Okt 04, 2012 9:24 pm

Re: core dump

Beitrag von hardcoding » Di Apr 16, 2013 10:23 pm

Hat sich erledigt. :)

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3125
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: core dump

Beitrag von cloidnerux » Di Apr 16, 2013 10:25 pm

Woran lags?
Redundanz macht wiederholen unnötig.
quod erat expectandum

nufan
Wiki-Moderator
Beiträge: 2558
Registriert: Sa Jul 05, 2008 3:21 pm

Re: core dump

Beitrag von nufan » Di Apr 16, 2013 10:26 pm

hardcoding hat geschrieben:Hat sich erledigt. :)
Eine Erklärung wäre nett, falls jemand das gleiche Problem hat :)
Ideal wäre noch der korrekte Code, in dem ein malloc() vorkommt ;)

hardcoding
Beiträge: 91
Registriert: Do Okt 04, 2012 9:24 pm

Re: core dump

Beitrag von hardcoding » Di Apr 16, 2013 10:28 pm

Code: Alles auswählen

struct gleit *berechnen;
Das problem lag beim Pointer.

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: core dump

Beitrag von Xin » Mi Apr 17, 2013 7:54 am

hardcoding hat geschrieben:Das problem lag beim Pointer.
Nein, das Problem lag daran, dass der Pointer nicht initialisiert wurde. ^^

Deine Aussage klingt so, als wären Pointer böse. Meine Aussage ist, dass das Problem 60cm vor dem Bildschirm sitzt. ;-D
Aber gut, dass Du die Lösung selbst gefunden hast. :-)
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

hardcoding
Beiträge: 91
Registriert: Do Okt 04, 2012 9:24 pm

Re: core dump

Beitrag von hardcoding » Mi Apr 17, 2013 9:31 am

Ja die Antwort ist zu kurz. So sieht es jetzt aus:

Code: Alles auswählen

struct gleit *berechnen;

berechnen = (struct gleit *)malloc(sizeof(struct gleit));

if(berechnen == NULL) {
  return -1;
} else {



  free(berechnen);
}

Antworten