두 개의 개별 코드 부분에서 증분/감소자가 왜 다르게 작동합니까?C 조 작 순서
단편 A :
0
7 8 9
단편 B :
i=7; j=8; k=9;
printf("%d\n", i - 7 && j++ > k);
printf("%d %d %d", i, j, k);
다음 출력 생성한다
T minus 5 and counting
T minus 4 and counting
T minus 3 and counting
T minus 2 and counting
T minus 1 and counting
01 :
while (i > 0)
printf("T minus %d and counting\n",i--);
이 만들어
이제는 함수에 대한 인수가 값으로 전달된다는 사실을 알고 있으며 부울 식에서 j
이 사용된다는 사실과 관련이 있어야합니다. 그러나이 두 상황은 나에게 모순되는 것처럼 보입니다. 무슨 일 이니? 좋아
조각 B에서 'i'가 5로 가정됩니까? 이 경우 출력이 예상됩니다. –
어떤 행동을 기대합니까? – robert
@grimetime은 그가'i -'가 호출 될 때마다 i의 값을 감소시키는 이유를 이해하지 못한다고 생각하지만,'j ++'는 호출 된 후에 j의 값을 변경하지 않는다고 생각합니다. – Jamie