i wrote this code
it does stops prematurely
when i input
1 2 3 4 5 enter it stops and return 0 ( )
but on the other hand
when i input
1 2 3 4 5 6 7 8 enter
it returns zero too
why??
Code:
#include <stdio.h>
int read_array(int input[],int i,int size);
int main()
{
int i;
int input[40];
printf("%d\n",read_array(input,0,8));
for(i=0;i<8;i++)
{
printf("%d ",input[i]);
}
printf("\n");
return 0;
}
int read_array(int input[],int i,int size)
{
int flag,rt,ch;
ch=getchar();
if ((ch=='\n')&&(i!=size))
{
return 0;
}
if (i==size)
{
return 1;
}
flag=scanf("%d",&input[i]);
if (flag==0)
{
return 0;
}
else
{
}
rt=read_array(input,i+1,size);
return rt;
}