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