여러 printf 에 대한 루프의 일환으로 초기화,상태 및 업데이트

0

질문

누군가를 설명하는 나에게 왜 그것을 인쇄 32 의 전반적인 개념이 어떻게 작동합니까?

#include <stdio.h>

int main()
{
    int a=1;
    for (printf ("3"); printf ("2"); printf ("1"))

    return 0;
}
c loops printf
2021-11-23 21:56:07
2

최고의 응답

8

들여쓰기는 적절한 것 그것을 명확:

#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.
  • 이후 조건 truthy,그의 몸으로 반복입니다.
  • 몸 실행 return 0;. 이를 반환에서 main()따라서 종료합니다.

이후 루이 끝나 우리는지 평가하여 업데이트 expression, printf("1")다,그래서 그것은 결코 인쇄 1. 우리는 얻을 수 없이 반복하는 것입니다.

2021-11-23 22:04:34
0

당신이 알고 있는 프로그램을 실행하기 시작 왼쪽에서'{'의 기능 main(),끝에서 오른쪽'}'의 기능 main(),이 없으면 끝없는 반복입니다.

로드,당신의 어려움을 이해하의 흐름도에 대한 루프에는 C 언어 코드가 포함되어 있습니다.

당신이 볼 수 있듯,구문을 위한 인터페이스를 제공합니다.입니다:
for (initializationStatement; testExpression; updateStatement)
{
    // statements inside the body of loop
    for loop body;
}
는 방법에 대한 루프가 작동하는지?

1.초기화 문을 한 번만 실행됩니다.

2.그런 다음,테스트에 표현을 평가합니다. 는 경우 테스트를 표현은 false 로 평가되어,루이 종료됩니다.

3.그러나,테스트하는 경우 표현을 평가하는 진정한,내부의 문의 몸에 대한 반복 실행되고,업데이트 표현입 업데이트됩니다.

4.다시 테스트에 표현을 평가합니다.

이 프로세스에까지 테스트는 표현은 거짓입니다. 시험 식 false,루프에 종료됩니다.

그래서,루 Flowchart

enter image description here

첫째,당신의 코드 예를 들어:
#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
끝. 감사합니다!
2021-11-24 07:01:53

다른 언어로

이 페이지는 다른 언어로되어 있습니다

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................