Devo fare questo esercizio: Creare un file “main.c”. Nel file, si realizzi in linguaggio C la funzione corrispondente alla seguente
dichiarazione:
extern unsigned int prossimo_numero_primo(unsigned int x);
La funzione deve ritornare il più piccolo numero primo maggiore di x
Io ho fatto questo programma ma non capisco il motivo per cui non funziona, anche se mi sentivo abbastanza sicuro..
int primo(int val){
int i;
for (i = 2; i < val; i++){
if (val % i == 0){
return 0;
}
}
return 1;
}
unsigned int prossimo_numero_primo(unsigned int x){
int i = x + 1;
int t = 0;
while (t == 0){
t = primo(i);
i++;
}
return i;
}
int main(){
int x = prossimo_numero_primo(23);
return 0;
}