This program suppose to count the string length that are A-Z,a-z, and 0-9 using recursion but it counts everything, why??
Code:
#include <stdio.h>
int count(char string[])
{
int i = 0;
if(string[i] == 0)
{
return 0;
}
else if((string[i]>=48)||(string[i]<=57)||(string[i]>=65)||(string[i]<=90)||(string[i]>=97)||(string[i]<=122))
{
printf("%d\n",string[i]);
return (1 + count(&string[i+1]));
}
else
{
return 0;
}
}
int main()
{
char buffer[64];
char string[64];
int i = 0;
int len = 0;
printf("Enter string: ");
fgets(buffer,63,stdin);
sscanf(buffer,"%s",string);
len = count(&string[i]);
printf("Length: %d\n",len);
}