當我運行它時,我的代碼沒有響應,我似乎無法找出問題,但我最好的猜測是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