int main(void) {
int i = 2, k = 3, a;
i++;
++k;
{
int i = 0;
i = k++;
printf("%d,%d,", i, k);
}
printf("%d,%d", i, k);
getchar();
return 0;
}
왜이 코드는 "4,5,3,5"출력을 생성합니까? "4,5,4,5"가 아닌 이유는 무엇입니까? 왜 내가 f7 키 C++ 코드를 추적 할 때 먼저 printf 다음 second printf(). 그래서이 변수의 값에 따라 4를 유지해야합니다. 그러면 왜 두 번째 printf() 함수에서 변수 3의 값을 제공합니까?중괄호 사이의 코드와 변수 값 변경
범위, 범위, 범위, 범위는 ... – devnull
'중괄호에 선언 i'는'은'main' 범위에서 선언 i'되지 않습니다. 마치 'i1'과'i2'처럼 생각할 수 있습니다. – rullof
주 기능과 중괄호 안에 'i'를 의미합니다. 두 경우 모두 다른 메모리 위치에 다른 메모리 주소로 저장되어 있습니까? –