2014-11-25 85 views
0

我對遞歸性很陌生,所要求的工作是:¿字母數字字符串中有多少個字母?當然使用遞歸。遞歸性。字母數字字符串中的字母

所以,這裏是我的代碼:

#include <stdio.h> 
#include <string.h> 

int countl(char*,int,int); 

int main(void){ 
    int n=0,resultado,l; 
    char string[20]; 
    printf("Input a string:\n"); 
    scanf("%s",string); 
    l = strlen(string); 
    resultado = countl(string,n,l); 
    printf("Ammount of letters: %d",resultado); 
} 

int countl(char *string,int n,int l){ 
    if(l>0){ 
      if(string[n] >= 'A' && string[n] <= 'z'){ 
       return 1 + countl(string,n+1,l-1); 
      } 
    } 
    else 
     return 0; 
} 

忘了說,即使輸入爲「1」,結果是49

+0

問題是什麼? – Kelm 2014-11-25 00:52:50

+0

@Kelm editted.- – 2014-11-25 00:55:04

回答

4

,請注意警告。

如果l>0字符不在'A'-'z'範圍內,則該函數返回的垃圾。