typedef struct node {
double value;
struct node *prev;
} node_t;
In main:ersten Knoten des Stapels brüchige - c
if(fgets(str, MAX_LENGTH, stdin)) {
char *token;
token = strtok(str, " ");
while(token != NULL) {
if(strtod(token, NULL) != 0) { //Issue here
push(&stack, new_node(strtod(token, NULL)));
}
......
für einen Testfall, wenn mein Eingang „1 2“ und dann das erste Mal, dass ich einen Knoten auf den Stapel, node_t drücken. prev = NULL (wie gewünscht) und der Wert ist 1 (wie gewünscht). Beim zweiten Mal in der Schleife wird der erste Knoten im Stapel standardmäßig verwendet (prev = NULL und value = 0). Dies geschieht in der if-Anweisung (siehe oben kommentiert).
Warum ist mein erster Knoten standardmäßig?
Warum ist das als C++ markiert? –