Vorrei incominciare a sviluppare per piattaforme unix.

Ma mi sono trovato davanti a questo problema....ho scritto un piccolo programmino che mi trova il numero massimo tra un'elenco di numeri forniti dall'utente,cosi per provare il compilatore.

Scrivo il codice e ce qualcosa che non va....(non badate all'algoritmo l'ho scritto in 2 minuti):

#include <stdio.h>

int main(){

int NumElenco;
int NumeroAttuale;
int NumeroPrecedente;
int NumeroMax;
int i;

i = 0;


system("clear");

printf(".:Calcolare il numero massimo tra piu numeri:.\n");
printf("\nInserire numero dell'elenco: ");
scanf("%d",&NumElenco);
for(i = 0;i = NumElenco;i++){
if (i=0) {

printf("Inserisci %d° Numero: ",&i);
scanf("%d",&NumeroAttuale);
NumeroPrecedente = NumeroAttuale;
NumeroMax = NumeroAttuale;
}
if (i >0) {

printf("Inserisci %d° Numero: ",&i);
scanf("%d",&NumeroAttuale);
if (NumeroAttuale > NumeroPrecedente){

NumeroPrecedente = NumeroAttuale;
NumeroMax = NumeroAttuale;
}
}
}

printf("Numero Max: %d",&NumeroMax);


}
il programma una volte che mi chiede il numero dell'elenco(all'inizio praticamente) si blocca...ovvero si puo continuare a scrivere nella shell ma i dati non vengono elaborati dal programma,in pratica il primo ed unico ciclo for non incomincia mai!

Ora o sono rincoglionito io è ho fatto qualche errore nel codice(in tal caso la cosa è preoccupante XD) o ci sono evidenti differenze tra piattaforma windows e unix.