안녕하세요.
main() 에서 increase();에 의해 increase() 함수가 호출되면
b가 2로 초기화되고
printf에 의해 %d, %d가 출력될 때 앞의 %d는 ++a가 적용되는데 전치연산자이므로 a의 값을 먼저 1증가시킨 후 %d로 출력합니다.
그래서 출력은 2가 됩니다. b도 ++b임으로 3이 출력됩니다.
a 변수는 main() 함수 전에 전역변수, static int a 로 선언 되었으므로 실행 class 안에서 모두 사용 가능합니다.
하지만 b 변수는 increase() 함수 안에서 선언되었으므로 increase() 함수 안에서만 유효합니다.
increase() 함수를 수행한 후 main() 함수로 return 한 후 다시 increase() 함수가 호출되면
b는 다시 2로 초기화 됩니다.
오늘도 즐거운 하루 되세요.
-
*2017-06-16 09:09:28
안녕하세요.
main() 에서 increase();에 의해 increase() 함수가 호출되면
b가 2로 초기화되고
printf에 의해 %d, %d가 출력될 때 앞의 %d는 ++a가 적용되는데 전치연산자이므로 a의 값을 먼저 1증가시킨 후 %d로 출력합니다.
그래서 출력은 2가 됩니다. b도 ++b임으로 3이 출력됩니다.
a 변수는 main() 함수 전에 전역변수, static int a 로 선언 되었으므로 실행 class 안에서 모두 사용 가능합니다.
하지만 b 변수는 increase() 함수 안에서 선언되었으므로 increase() 함수 안에서만 유효합니다.
increase() 함수를 수행한 후 main() 함수로 return 한 후 다시 increase() 함수가 호출되면
b는 다시 2로 초기화 됩니다.
오늘도 즐거운 하루 되세요.