2013-12-14 50 views

回答

4
return !isalpha(str[first]) ? 
     isPalindrome(str, ++first, last) : 
     isPalindrome(str, first, --last); 
6

这是不允许的,因为return不允许在表达式中使用;它只允许在声明的顶层。 (任何表达式可以作为一个声明,但反过来是不正确的。)你可以一次将这样的:

return !isalpha(str[first]) 
      ? isPalindrome(str, ++first, last) 
      : isPalindrome(str, first, --last); 

或本:

if (!isalpha(str[first])) { 
    return isPalindrome(str, ++first, last); 
} else { 
    return isPalindrome(str, first, --last); 
} 
+0

太谢谢你了。总体感觉。 –

+0

@alazargebeyehu:不客气! – ruakh

相关问题