누군가를 설명하는 나에게 왜 그것을 인쇄 32 의 전반적인 개념이 어떻게 작동합니까?
#include <stdio.h>
int main()
{
int a=1;
for (printf ("3"); printf ("2"); printf ("1"))
return 0;
}
누군가를 설명하는 나에게 왜 그것을 인쇄 32 의 전반적인 개념이 어떻게 작동합니까?
#include <stdio.h>
int main()
{
int a=1;
for (printf ("3"); printf ("2"); printf ("1"))
return 0;
}
들여쓰기는 적절한 것 그것을 명확:
#include <stdio.h>
int main()
{
int a=1;
for (printf ("3"); printf ("2"); printf ("1"))
return 0;
}
그래서 다음과 같은 상황이 발생합니다:
a
초기화 1
. 내가 왜 이 변수가 존재하기 때문에,사용되지 않습니다.for
실행 초기화 문장, printf("3");
. 이 인쇄 3
.for
평가 반복 조건 printf("2")
. 이 인쇄 2
과 문자 수를 반환하는 인쇄되었는 1
.return 0;
. 이를 반환에서 main()
따라서 종료합니다.이후 루이 끝나 우리는지 평가하여 업데이트 expression, printf("1")
다,그래서 그것은 결코 인쇄 1
. 우리는 얻을 수 없이 반복하는 것입니다.
당신이 알고 있는 프로그램을 실행하기 시작 왼쪽에서'{'의 기능 main(),끝에서 오른쪽'}'의 기능 main(),이 없으면 끝없는 반복입니다.
로드,당신의 어려움을 이해하의 흐름도에 대한 루프에는 C 언어 코드가 포함되어 있습니다.
for (initializationStatement; testExpression; updateStatement)
{
// statements inside the body of loop
for loop body;
}
1.초기화 문을 한 번만 실행됩니다.
2.그런 다음,테스트에 표현을 평가합니다. 는 경우 테스트를 표현은 false 로 평가되어,루이 종료됩니다.
3.그러나,테스트하는 경우 표현을 평가하는 진정한,내부의 문의 몸에 대한 반복 실행되고,업데이트 표현입 업데이트됩니다.
4.다시 테스트에 표현을 평가합니다.
이 프로세스에까지 테스트는 표현은 거짓입니다. 시험 식 false,루프에 종료됩니다.
#include <stdio.h>
int main(){
for (printf ("3"); printf("2"); printf("1")) break;
return 0;
}
32
1.초기화 "printf ("3")
"다음,프린트:
3
2.시험 식 "printf("2")
"는 항상 진실하다,그래서 인쇄:
2
3.몸을 위한 루프 "break
"는 것을 의미 끝나는 실행하기 위한 인터페이스를 제공합니다.,
실행하지 않 업데이트된 식 "printf("1")
"
또한,이 프로그램에서 뛰어에 대한 반복,그리고 점프를 "return 0;
",
그런 다음,최종 이의 실행에 이 프로그램입니다.
그래서,출력이
32
#include <stdio.h>
int main(){
for (printf ("3"); printf("2"); printf("1")) ;
return 0;
}
321212121212121212...121212...1212...
마찬가지로,
1.초기화 "printf ("3")
"다음,프린트:
3
2.시험 식 "printf("2")
"는 항상 진실하다,그래서 인쇄:
2
3.몸을 위한 루프 "`",빈,그 후 아무것도 할 수 없습니다. goto 업데이트 된 표현
"printf("1")
"
4.업데이트된 식 "printf("1")
"다음,인쇄
1
5.그런 다음,고토 테스트 expression "printf("2")
"는"2.테스트
식 "printf("2")",는 항상 진실하다,그래서 인쇄".기
몸의 루프 "`",빈,다음 항상 고토에서 업데이트
식 "printf("1")
" 시험 식 "printf("2")
",
그 이유는 인쇄 후"32
"는 기능을 무한 루프 인쇄
"12
".그리고,그 기능은 끝이 없지 인쇄"12
"지 않는 한 당신
지는 기능이다.
그래서,그래서,그래서 출력
32121212...121212...121212...
#include <stdio.h>
int main()
{
int a=1;
for (printf ("3"); printf ("2"); printf ("1"))
return 0;
}
32
1.프로그램을 실행하기 시작 왼쪽에서'{'의 기능 main(),
그의 초기화 문의 임시 변수
"int a=1;
".
그 문을 정의하는"int
"입력된 임시 변수"a
"고
설정 값을"1
"하지만,인쇄되는 아무것도 아니다!
2.그런 다음,프로그램 goto for loop.
3.초기화 문은 "printf ("3")
"다음,인쇄
"3
"고
고토의 테스트는 표현이다.
3
4.시험 식 "printf("2")
"는 항상 진실하다,그래서
print"2
"고 고 루프를 위한 신체 표현이다.
2
5.루체 식"return 0
"expression
"return 0
"return'0
'기능 main()및 종료
의 실행 main()지만,인쇄 아무것도 아니다.
그래서 출력 결과는 다음과 같습니다.
32