-3
A
답변
2
!
입니다. 논리 연산자입니다.
여기에서 wikipedia entry을 참조하십시오.
if(!s--)
s
가 0
경우는, s
의 값 0
아닌지
- 검사를 실행하는 순서,
if
조건 그렇지 성공 [!
조작 덕분에, 실패이다. - 그 후
s
을 한 단위 씩 감소시킵니다. if
조건의 평가에 따라 [if
조건 또는 다음 코드 블록 아래의 코드] 실행을 계속하십시오.
+0
, 감사합니다. –
+0
@JensGustedt 감사합니다. :-) –
3
실제로 오해의 소지가 있습니다.
테스트 중입니다. s
은 0과 다릅니다 (if (!s)
). 그리고 나서 결과가 어떻든간에 당신은 그것을 줄이고 있습니다.
그래서 두 가지 작업이 있습니다. 다음과 같이 작성할 수 있습니다.
if (!s)
{
s--;
//...
}
else
{
s--;
}
1) 이것은 기능이 아닙니다. 2) 나누기와 정복을 사용하십시오. 그곳에는 단지 세 가지 밖에 없습니다. '!'와'--'. –
처음에 컴파일러는 s가 0인지 확인하여 if 블록에 입력합니다. 그러면 s가 1 씩 감소합니다. – Mukit09
Thx all! 지금 이해 : –