> 백엔드 개발 > PHP 튜토리얼 > 인쇄는 기능이 아닙니다

인쇄는 기능이 아닙니다

藏色散人
풀어 주다: 2023-04-06 20:14:01
앞으로
2491명이 탐색했습니다.

인쇄는 기능이 아닙니다

이상해 보이는 질문에서 나온 것입니다:

if (print("1\n") && print("2\n") && print("3\n") && print("4\n")) {
    ;
}
로그인 후 복사

이 코드가 무엇을 출력할 것으로 예상하시나요?

실제 출력은 다음과 같습니다.

4
111
로그인 후 복사

인쇄물이 문법 구조(언어 구조)라는 사실을 우리는 자주 무시합니다. , 함수가 아니며 매개변수 목록에는 괄호가 필요하지 않습니다(괄호를 써도 구문 분석 단계에서 괄호는 무시됩니다). 항상 결과를 반환하는 표현식일 뿐입니다. 1 공식(expr)" :

expr :
   T_PRINT expr
 | '(' expr ')'
;
所以其实上面的代码在php看来是:
if (print ("1\n" && print ("2\n" && print ("3\n" && print "4\n")))) {
  ;
}
로그인 후 복사

그래서 4를 출력하고 "3n"을 출력하고 && 인쇄 결과는 1이 되고 "2n" && 1을 출력하고 마지막으로 "1n" && 1

그리고 위의 목적을 달성하려면 의도된 것입니다 코드 자체의 의도에 따라 다음과 같이 작성해야 합니다.

if ((print "1\n") && (print "2\n") && (print "3\n") && (print "4\n")) {
    ;
}
로그인 후 복사

위 내용은 인쇄는 기능이 아닙니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:laruence.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿