!isalpha( str[first] ) ? ( return isPalindrome( str, ++first, last ) ) : return isPalindrome( str, first, --last ) ;
我收到语法错误。
答案 0 :(得分: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 );
}
答案 1 :(得分:4)
return !isalpha(str[first]) ?
isPalindrome(str, ++first, last) :
isPalindrome(str, first, --last);