typedef struct node {
double value;
struct node *prev;
} node_t;
В главной:первый узел стека невыплаты - с
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)));
}
......
Для тестового примера, если мой вход «1 2», то первый раз, когда я толкать узел в стек, node_t. prev = NULL (по желанию), а значение равно 1 (по желанию). Мой второй раз через цикл, первый узел в стеке по умолчанию (prev = NULL и value = 0). Это происходит в выражении if (см. Комментарий выше).
Почему мой первый узел по умолчанию?
Почему это помечено как C++? –