C++ 我可以这样使用条件运算符吗?
我得到一个语法错误。这是不允许的,因为在表达式中不允许C++ 我可以这样使用条件运算符吗?,c++,conditional,operator-keyword,C++,Conditional,Operator Keyword,我得到一个语法错误。这是不允许的,因为在表达式中不允许return;它只允许在语句的顶层使用。(任何表达式都可以用作语句,但反之亦然。)您可以这样写: !isalpha( str[first] ) ? ( return isPalindrome( str, ++first, last ) ) : return isPalindrome( str, first, --last ) ; return !isalpha(str[first]) ? isPalindrome(str,
return
;它只允许在语句的顶层使用。(任何表达式都可以用作语句,但反之亦然。)您可以这样写:
!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 !isalpha(str[first])
? isPalindrome(str, ++first, last)
: isPalindrome(str, first, --last);
这是不允许的,因为表达式中不允许
return
;它只允许在语句的顶层使用。(任何表达式都可以用作语句,但反之亦然。)您可以这样写:
return !isalpha(str[first]) ?
isPalindrome(str, ++first, last) :
isPalindrome(str, first, --last);
或者这个:
return !isalpha(str[first])
? isPalindrome(str, ++first, last)
: isPalindrome(str, first, --last);
非常感谢你。完全有道理。非常感谢你。完全有道理。