문 (C)
for 명령문을 사용 하면 명령문을 반복 하거나 지정 된 횟수 만큼 복합 문.본문은 for 문에서 선택적 조건이 거짓이 될 때까지 0 번 이상 실행 됩니다.선택적 식 내에서 사용할 수 있습니다의 for 문을 초기화 하 고 값을 변경 하는 for 명령문의 실행 합니다.
구문
- 반복 문:
for( init-expressionopt ; cond-expressionopt ; loop-expressionopt )statement
실행 하는 for 문 같이 진행 됩니다.
init-expression, 계산 됩니다.루프에 대 한 초기화를 지정합니다.형식에 제한이 init-expression.
cond-expression, 계산 됩니다.이 식은 산술 또는 포인터 형식이 같아야 합니다.각 반복 전에 평가 합니다.세 가지 결과가 나타날 수 있습니다.
경우 cond-expression 는 true (0이) statement 실행 됩니다. 그런 다음 loop-expression, 계산 됩니다.loop-expression 각 반복 후 계산 됩니다.해당 형식에 제한이 있습니다.부작용 순서로 실행 됩니다.프로세스가 다시 계산을 시작 cond-expression.
경우 cond-expression 생략 되 면 cond-expression true이 고 정확 하 게 이전 단락에서 설명한 대로 실행이 진행 됩니다 것으로 간주 됩니다.A for 없이 문을 cond-expression 인수를 경우에만 종료는 break 또는 return 문의 본문 내의 문이 실행 시기는 goto (레이블된 문 밖으로 for 문의 본문) 실행 됩니다.
경우 cond-expression 입니다 false (0)의 실행은 for 문을 종료 하 고 다음 문으로 프로그램에서 제어가 전달 합니다.
A for 문이 종료 될 때에 break, goto, 또는 return 문의 본문 안에 있는 문이 실행 됩니다.A continue 문에서 for 루프 원인 loop-expression 평가 될 수 있습니다.경우는 break 안에 문이 실행에 for 루프를 loop-expression 평가 되거나 실행 되지 않을.이 문
for( ;; )
만에 끝낼 수 있는 무한 루프를 생성 하는 일반적인 방법은 되는 break, goto, 또는 return 문.
코드
이 예제는 for 문:
// c_for.c
int main()
{
char* line = "H e \tl\tlo World\0";
int space = 0;
int tab = 0;
int i;
int max = strlen(line);
for (i = 0; i < max; i++ )
{
if ( line[i] == ' ' )
{
space++;
}
if ( line[i] == '\t' )
{
tab++;
}
}
printf("Number of spaces: %i\n", space);
printf("Number of tabs: %i\n", tab);
return 0;
}
Output
Number of spaces: 4
Number of tabs: 2