#include <stdio.h>
#include <string.h>
void main()
{
static int a=1;
++a;
printf("%d",a);
if(a<=3)
main();
printf("%d,a");
}
O / P가 234444 인 이유를 이해할 수 없습니다. 아무도 설명 할 수 있습니까?
나에 따르면 값이 4에 도달하자마자 2344가되어야하며 조건이 있으면 실패하고 다시 main을 호출하지 않습니다.
어떻게 이런 일이 일어날 수 있습니까?
세 개의 출력 main
은 다음과 같습니다.
main #1: 2 4
main #2: 3 4
main #3 4 4
BTW printf("%d,a");
는 printf("%d",a)
;
그것을 설명하기 위해
int depth = 0;
void main()
{
++depth;
static int a = 1;
++a;
printf("%d:%d ", depth, a);
if (a <= 3)
main();
printf("%d:%d ", depth, a);
--depth;
}
산출:
1:2 2:3 3:4 3:4 2:4 1:4
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다