1
!isalpha(str[first]) ? (return isPalindrome(str, ++first, last)) : return isPalindrome(str, first, --last) ;
我得到一个语法错误。我可以使用这样的条件运算符吗?
!isalpha(str[first]) ? (return isPalindrome(str, ++first, last)) : return isPalindrome(str, first, --last) ;
我得到一个语法错误。我可以使用这样的条件运算符吗?
return !isalpha(str[first]) ?
isPalindrome(str, ++first, last) :
isPalindrome(str, first, --last);
这是不允许的,因为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);
}
太谢谢你了。总体感觉。 –
@alazargebeyehu:不客气! – ruakh