Мой код не отвечает, когда я его запускаю, я не могу понять, проблема, но моя лучшая догадка - это часть рекурсивного вызова в разделе else
strcheck
.Vowel Count in C через рекурсию
#include<stdio.h>
#include<stdlib.h>
int alphcheck(char *ptr)
{
if(*ptr=='a'||*ptr=='e'||*ptr=='i'||*ptr=='o'||*ptr=='u')
return 1;
else
return 0;
}//close aplhcheck
int strcheck(char *ptr)
{
int r;
if(ptr=='\0')
return 0;
else
{
r = alphcheck(ptr)+r;
strcheck(++ptr);
return r;
}
}//close strcheck
int main()
{
int res;
char name[] = "sahirnoorali";
res = strcheck(name);
printf("%d",res);
return 0;
}//close main
Ну, для одного: вы используете 'r' uninitialized, а два: вы не используете возвращаемое значение рекурсивного вызова. – Kninnug
И три: 'if (ptr == '\ 0')'! – Nbr44