Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    15

    Lcc-win32 - Strano problema

    Ciao ragazzi, sto scrivendo un codice, ma nel momento in cui digito, semplicemente digito, la freccetta del puntatore il programma s'impalla. Quello evidenziato in rosso è il carattere che digitandolo causa il problema. Soluzioni?

    #include <stdio.h>
    #include <stdlib.h>

    struct elemento
    {
    int dato;
    struct elemento* next;
    };

    typedef struct elemento Elemento;
    typedef Elemento* Stack;

    void push(Stack* stack, int dato);
    Elemento* pop(Stack* stack);
    void visualizza(Stack stack);

    int main(int argc,char *argv[])
    {
    Stack pila = NULL;
    int x,i;

    for(i=0; i < 5; i++)
    {
    printf("Valore: ");
    scanf("%d",&x);
    push(&pila,x);
    }

    system("PAUSE");
    return 0;
    }

    void push(Stack* stack, int dato)
    {
    Elemento* elemento = (Elemento*) malloc(sizeof(Elemento));
    elemento->dato = dato;
    elemento->next = *stack;
    *stack = elemento;
    }

    Elemento* pop(Stack* stack)
    {
    Elemento* e = (*stack);
    if(e != NULL)
    (*stack) = e->next;
    return e;
    }


    void visualizza(Stack stack)
    {
    printf("--- Contenuto ---");

    while(stack != NULL)
    {
    printf("%d\n",stack->);
    }

    printf("--- Fine --------");
    }

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    15
    Pazzesco: ho riscritto quella parte in questa sequenza

    1. stack-dato

    2. stack->dato

    e in questo caso il problema non si ripete.

    Mah...

  3. #3
    Evidentemente c'è qualche problema con l'autocomplete.
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.