Ciao a tutti,
quando compilo il mio programma mi da questi errori: " 'swap'may be used uninitialized in this function" " 'bubble'may be used uninitialized in this function" nelle due righe che ho indicato nel codice, a cosa è dovuto il warning visto che sopra li inizializzo? Grazie.
Lista ordina_lista(Lista *p_lista)
{
Lista *bubble, *swap;
nodo = *p_lista;
if ( !nodo && !nodo->next)
return nodo;
int scambio;
do
{
scambio = 0;
/*il primo è speciale*/
if ( nodo->reale > nodo->next->reale )
{
scambio =! scambio;
/*tolgo dalla lista il secondo elemento*/
*bubble = nodo->next; <----------------------------
nodo->next = (*bubble)->next;
/*metto l'elemento tolto in testa alla lista*/
(*bubble)->next = nodo;
nodo = *bubble;
}
/*tutti gli altri confronto il sucessivo con il sucessivo sucessivo
in questo modo non perdo il riferimento al precedente*/
for(*bubble = nodo; (*bubble)->next->next; *bubble = (*bubble)->next)
{
if ( (*bubble)->next->reale > (*bubble)->next->next->reale )
{
if ( !scambio ) scambio =! scambio;
/*tolgo dalla lista l'elemento sucessivosucessivo*/
*swap = (*bubble)->next->next; <-------------------------------
(*bubble)->next->next = (*swap)->next;
/*swappo*/
(*swap)->next = (*bubble)->next;
(*bubble)->next = *swap;
}
}
}while(scambio);
return nodo;
}