Non funziona perché la funzione che dovrebbe verificare se un numero è primo o no, in realtà non lo fa correttamente.
Un numero è primo se divisibile soltanto per uno o per se stesso, se il resto della divisone è zero è divisibile anche per altri numeri, di conseguenza in questo caso devi restituire 0 e uscire dal ciclo tramite break.
Nel for() dovresti mettere


codice:
for(...........){

    ris=numero%i;
    if (ris==0){
        return 0; //se il resto è zero non è un numero primo
    }


}


return 1;// se la funzione non termina nel for() il numero è primo