当我运行它时,我的代码没有响应,我似乎无法找出问题,但我最好的猜测是strcheck
的else
部分中的递归调用部分。通过递归计算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'未初始化,和两个:你没有使用递归调用的返回值。 – Kninnug
三:'if(ptr =='\ 0')'! – Nbr44