It will be simpler if function isPrime just checks whether the given integer is prime or not and outputs a Boolean value.
#include<stdio.h>
#include <math.h>
void prime(int x, int y){
int waa;
if ( x == 1 ) x++;
if(x <= y){
waa = isPrime(x,2); // second input parameter added
if(waa != 0){
printf("%5d",x);
}
prime(x+1,y);
}
}
int isPrime(int n, int i){
if(n%i==0 && n!=2 && n!=i){
return(0);
} else {
if (i < sqrt(n)) {
return( isPrime(n,i+1) );
} else
return 1;
}
}
int main(){
int num[2];
printf("Input 2 numbers: \n");
scanf("%d %d", &num[0], &num[1]);
prime(num[0], num[1]);
return 0;
}
Input:
1
10
Output:
2 3 5 7